OpenTelemetry.Instrumentation.Cassandra
1.0.0-beta.4
Prefix Reserved
dotnet add package OpenTelemetry.Instrumentation.Cassandra --version 1.0.0-beta.4
NuGet\Install-Package OpenTelemetry.Instrumentation.Cassandra -Version 1.0.0-beta.4
<PackageReference Include="OpenTelemetry.Instrumentation.Cassandra" Version="1.0.0-beta.4" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Cassandra" Version="1.0.0-beta.4" />
<PackageReference Include="OpenTelemetry.Instrumentation.Cassandra" />
paket add OpenTelemetry.Instrumentation.Cassandra --version 1.0.0-beta.4
#r "nuget: OpenTelemetry.Instrumentation.Cassandra, 1.0.0-beta.4"
#:package OpenTelemetry.Instrumentation.Cassandra@1.0.0-beta.4
#addin nuget:?package=OpenTelemetry.Instrumentation.Cassandra&version=1.0.0-beta.4&prerelease
#tool nuget:?package=OpenTelemetry.Instrumentation.Cassandra&version=1.0.0-beta.4&prerelease
Cassandra Instrumentation for OpenTelemetry
| Status | |
|---|---|
| Stability | Beta |
| Code Owners | @xsoheilalizadeh |
This is an Instrumentation Library, which instruments CassandraCSharpDriver and collects telemetry about cassandra metrics.
This package provides support for metrics only.
You can enable tracing using Cassandra.OpenTelemetry
package.
Steps to enable OpenTelemetry.Instrumentation.Cassandra
Step 1: Install Package
Add a reference to the
OpenTelemetry.Instrumentation.Cassandra
package. Also, add any other instrumentations & exporters you will need.
dotnet add package OpenTelemetry.Instrumentation.Cassandra
Step 2: Enable Cassandra Instrumentation at application startup
Cassandra instrumentation must be enabled at application startup.
The following example demonstrates adding Cassandra instrumentation to a
console application. This example also sets up the OpenTelemetry Console
exporter, which requires adding the package
OpenTelemetry.Exporter.Console
to the application.
using OpenTelemetry.Trace;
public class Program
{
public static void Main(string[] args)
{
using var metricProvider = Sdk.CreateMeterProviderBuilder()
.AddCassandraInstrumentation()
.AddConsoleExporter()
.Build();
var cluster = new Builder()
.WithConnectionString(yourCassandraConnectionString)
.WithOpenTelemetryMetrics()
.Build();
}
}
For an ASP.NET Core application, adding instrumentation is typically done in
the ConfigureServices of your Startup class. Refer to documentation for
OpenTelemetry.Instrumentation.AspNetCore.
For an ASP.NET application, adding instrumentation is typically done in the
Global.asax.cs. Refer to documentation for OpenTelemetry.Instrumentation.AspNet.
Configuration options
You are able to configure your own cassandra driver metrics options in
WithOpenTelemetryMetrics the by default configuration includes all the metrics
that the driver can provide.
var options = new DriverMetricsOptions();
options.SetEnabledNodeMetrics(new[] {NodeMetric.Gauges.InFlight});
var cluster = new Builder()
.WithConnectionString(yourCassandraConnectionString)
.WithOpenTelemetryMetrics(options)
.Build();
List of metrics produced
| Name | Instrument Type | Unit | Description |
|---|---|---|---|
cassandra.cql-requests |
Histogram | ms |
Measures the duration of Cassandra CQL requests from the client's perspective. |
cassandra.bytes-sent |
Histogram | bytes |
Measures the amount of bytes sent by the client to Cassandra. |
cassandra.bytes-received |
Histogram | bytes |
Measures the amount of bytes received by the client from Cassandra. |
cassandra.cql-messages |
Histogram | ms |
Measures the duration of CQL messages from the client's perspective. |
cassandra.connected-nodes |
Gauge | nodes |
Represents the number of nodes in Cassandra to which the client is connected. |
cassandra.pool.open-connections |
Gauge | connections |
Represents the number of open connections from the client to Cassandra. |
cassandra.pool.in-flight |
Gauge | requests |
Represents the number of in-flight requests from the client to Cassandra. |
References
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- CassandraCSharpDriver (>= 3.17.0)
- Newtonsoft.Json (>= 13.0.1)
- OpenTelemetry.Api (>= 1.14.0 && < 2.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on OpenTelemetry.Instrumentation.Cassandra:
| Package | Downloads |
|---|---|
|
Grafana.OpenTelemetry
Full Grafana distribution of OpenTelemetry .NET |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-beta.4 | 234 | 11/13/2025 |
| 1.0.0-beta.3 | 216 | 10/23/2025 |
| 1.0.0-beta.2 | 195,344 | 10/2/2024 |
| 1.0.0-beta.1 | 765,767 | 3/30/2023 |