Skip to content

Usage Telemetry

As part of our ongoing commitment to improving MassTransit, in v8.40 we introduced anonymous usage telemetry to better understand how the community uses the framework. This feature will provide valuable insights into bus configurations, transport usage, and endpoint patterns, helping us identify trends, optimize performance, and prioritize future enhancements. By collecting only non-identifiable data, we ensure user privacy while enabling more informed development decisions that benefit the entire MassTransit ecosystem.

We understand that not everyone may want to participate in usage telemetry, which is why we have made it easy to opt out. If you prefer not to send anonymous usage data, you can disable telemetry through a simple configuration setting. This ensures that no information is transmitted while still allowing you to use MassTransit without any impact on functionality. Our goal is to provide transparency and choice, so you can decide what works best for your environment.

The collected usage telemetry is strictly for internal use and is not shared, sold, or made publicly available. Its sole purpose is to help the MassTransit team analyze usage patterns, improve performance, and guide future development based on real-world adoption. No personally identifiable information is collected, ensuring that all data remains anonymous and focused solely on enhancing the framework for the community.

The example report below demonstrates the collected data. By default, only minimal details about the host, bus, and endpoints are included, along with basic configuration and counts for each consumer or message type.

{
"id": "bd740008-ebb8-e450-a00a-08dd60e7bc9c",
"bus": [
{
"name": "IBus",
"created": "2025-03-11T16:57:37.4587070-05:00",
"started": "2025-03-11T16:57:37.9216500-05:00",
"endpoints": [
{
"name": "odd-job",
"type": "RabbitMQ",
"consumer_count": 5,
"prefetch_count": 64,
"job_consumer_count": 1
},
{
"name": "odd-job-completed",
"type": "RabbitMQ",
"consumer_count": 1,
"prefetch_count": 1,
"concurrent_message_limit": 1
},
{
"name": "job-type",
"type": "RabbitMQ",
"prefetch_count": 64,
"concurrent_message_limit": 16,
"saga_state_machine_count": 1
},
{
"name": "job",
"type": "RabbitMQ",
"prefetch_count": 64,
"concurrent_message_limit": 16,
"saga_state_machine_count": 1
},
{
"name": "job-attempt",
"type": "RabbitMQ",
"prefetch_count": 64,
"concurrent_message_limit": 16,
"saga_state_machine_count": 1
}
],
"configured": "2025-03-11T16:57:37.8701060-05:00"
}
],
"host": {
"commit_hash": "c0977e09482f7f5e3585c9a59e67941a89fd2963",
"time_zone_info": "(UTC-06:00) Central Time (Chicago)",
"framework_version": "9.0.0",
"mass_transit_version": "1.0.0.0",
"operating_system_version": "Unix 14.7.2"
},
"created": "2025-03-12T16:57:37.4572470-05:00"
}

Usage telemetry is sent once, five minutes after the bus starts (or after all buses have started if you’re using MultiBus). If the bus runs for less than five minutes, no data is reported. Telemetry is not captured or sent when using the test harness or when debugging the application. Reporting is non-blocking and does not impact the startup or shutdown of MassTransit or your application. All reports are securely transmitted to an endpoint within the masstransit.io domain.

If you prefer not to send anonymous usage data, you can disable telemetry through a simple configuration setting. This ensures that no information is transmitted while still allowing you to use MassTransit without any impact on functionality.

To disable usage telemetry, specify DisableUsageTelemetry on the MassTransit configuration. When disabled, no usage telemetry is captured or reported.

services.AddMassTransit(x =>
{
x.DisableUsageTelemetry();
});

You can also disable usage telemetry using an environment variable. Set:

MASSTRANSIT_USAGE_TELEMETRY=false

To disable usage telemetry.

To provide additional information, such as your CustomerId, usage telemetry can be configured as shown.

services.AddMassTransit(x =>
{
x.ConfigureUsageTelemetryOptions(options =>
{
options.CustomerId = "8675309";
});
});