Mozilla telemetry discovery and BigQuery query assistance for Glean telemetry data
You can install this plugin from any of these themed marketplaces. Choose one, add it as a marketplace, then install the plugin.
Choose your preferred installation method below
A marketplace is a collection of plugins. Every plugin gets an auto-generated marketplace JSON for individual installation, plus inclusion in category and themed collections. Add a marketplace once (step 1), then install any plugin from it (step 2).
One-time setup for access to all plugins
When to use: If you plan to install multiple plugins now or later
Step 1: Add the marketplace (one-time)
/plugin marketplace add https://claudepluginhub.com/marketplaces/all.json
Run this once to access all plugins
Step 2: Install this plugin
/plugin install mozdata-2@all
Use this plugin's auto-generated marketplace JSON for individual installation
When to use: If you only want to try this specific plugin
Step 1: Add this plugin's marketplace
/plugin marketplace add https://claudepluginhub.com/marketplaces/plugins/mozdata-2.json
Step 2: Install the plugin
/plugin install mozdata-2@mozdata-2
A Claude Code plugin for discovering Mozilla telemetry probes and writing BigQuery queries for Glean telemetry data. Written by Claude Code.
This plugin is in early development.
This plugin helps you:
/mozdata:ask
Slash CommandActivates Mozilla telemetry expertise in your current conversation. Use it to:
Example usage:
/mozdata:ask How do I query Firefox Desktop DAU?
/mozdata:ask Find probes related to accessibility in Firefox
/mozdata:ask Write a query for the a11y_hcm_foreground metric
The plugin understands:
DataHub MCP Server (for BigQuery schema access)
The plugin uses DataHub to query BigQuery table schemas. You need to configure this once at the user level.
Run this command, replacing YOUR_TOKEN
with your actual token:
claude mcp add --transport http dataHub "https://mozilla.acryl.io/integrations/ai/mcp/?token=YOUR_TOKEN"
Above command configures DataHub MCP server in current project/directory. To configure it globally for all projects, add --scope user
flag.
Verify it worked:
claude mcp list
# Should show: dataHub (...) (HTTP) - ✓ Connected
Note: A .mcp.json.example
file is included in the plugin for reference. We currently can't configure remote MCP servers directly in the plugin due to a bug in Claude Code.
First start Claude Code, then add the GitHub repository as a marketplace and install the plugin:
/plugin marketplace add akkomar/mozdata-claude-plugin
/plugin install mozdata@akkomar/mozdata-claude-plugin
Alternatively, use the interactive menu:
/plugin
# Then select "Add marketplace" and enter: akkomar/mozdata-claude-plugin
# Then select "Install plugin" and choose mozdata
Restart Claude Code for the plugin to load.
Start a conversation with /mozdata:ask
followed by your question:
/mozdata:ask What tables contain Firefox Desktop telemetry?
Continue the conversation naturally - no need to prefix subsequent messages.
> /mozdata:ask how to find most common device that Fenix runs on in Japan?
⏺ I'll help you find the most common device that Fenix (Firefox Android) runs on in Japan. Let me start by exploring what device-related metrics are available
and identifying the best approach.
⏺ dataHub - search (MCP)(query: "fenix baseline", filters: "{\"and\": [{\"entity_type\": [\"dataset\"]}, {\"platform\": [\"bigquery\"]}]}", num_results: 5)
⎿ {
"count": 5,
"total": 195,
… +374 lines (ctrl+o to expand)
⏺ dataHub - get_entity (MCP)(urn: "urn:li:dataset:(urn:li:dataPlatform:bigquery,mozdata.fenix.baseline_clients_daily,PROD)")
⎿ {
"urn": "urn:li:dataset:(urn:li:dataPlatform:bigquery,mozdata.fenix.baseline_clients_daily,PROD)",
"url": "https://mozilla.acryl.io/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Abigquery%2Cmozdata.fenix.baseline_clients_daily%2CPROD%29/",
… +437 lines (ctrl+o to expand)
⏺ Perfect! I found the optimal table and device-related fields. Here's how to find the most common devices that Fenix runs on in Japan:
Answer
Best table to use: mozdata.fenix.baseline_clients_daily
This table contains device information at the client-day level and includes:
- device_manufacturer - The device manufacturer (e.g., Samsung, Google, Xiaomi)
- device_model - The specific device model (e.g., SM-G991B, Pixel 6)
- country - Country code for geo-filtering (use 'JP' for Japan)
Optimized BigQuery Query
Here's a query to find the most common devices in Japan:
-- Find most common device models for Fenix in Japan
-- Uses baseline_clients_daily (client-day level aggregation)
-- COST: ~$0.10, SPEED: ~2-3 seconds
SELECT
device_manufacturer,
device_model,
COUNT(DISTINCT client_id) AS unique_clients,
COUNT(*) AS client_days,
ROUND(COUNT(DISTINCT client_id) * 100.0 / SUM(COUNT(DISTINCT client_id)) OVER (), 2) AS pct_of_clients
FROM
mozdata.fenix.baseline_clients_daily
WHERE
submission_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
AND country = 'JP' -- Japan
AND device_model IS NOT NULL
GROUP BY
device_manufacturer, device_model
ORDER BY
unique_clients DESC
LIMIT 20
Query Explanation
Why this table?
- baseline_clients_daily is pre-aggregated at the client-day level (one row per client per day)
- Much faster than querying raw baseline pings (~100x faster)
- Contains all device metadata we need
What it does:
- Counts unique clients per device model/manufacturer combination
- Filters to Japan (country = 'JP')
- Shows percentage of total clients for each device
- Limited to last 7 days (adjust INTERVAL 7 DAY as needed)
Key fields:
- unique_clients - Number of distinct users on each device
- client_days - Total client-days of activity (accounts for multi-day usage)
- pct_of_clients - Percentage share of each device
Alternative: By Manufacturer Only
If you want just the top manufacturers (not specific models):
-- Top device manufacturers in Japan
SELECT
device_manufacturer,
COUNT(DISTINCT client_id) AS unique_clients,
ROUND(COUNT(DISTINCT client_id) * 100.0 / SUM(COUNT(DISTINCT client_id)) OVER (), 2) AS pct_of_clients
FROM
mozdata.fenix.baseline_clients_daily
WHERE
submission_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
AND country = 'JP'
AND device_manufacturer IS NOT NULL
GROUP BY
device_manufacturer
ORDER BY
unique_clients DESC
Notes
- Fenix includes all Firefox Android channels (release, beta, nightly)
- Device data comes from Android system info at the client level
- Adjust the date range by changing INTERVAL 7 DAY to your preferred window
- Use sample_id = 0 if you want to test with 1% sample first
MPL-2.0
0.0.2