OpenTelemetry.Instrumentation.Process
1.13.0-beta.1
Prefix Reserved
dotnet add package OpenTelemetry.Instrumentation.Process --version 1.13.0-beta.1
NuGet\Install-Package OpenTelemetry.Instrumentation.Process -Version 1.13.0-beta.1
<PackageReference Include="OpenTelemetry.Instrumentation.Process" Version="1.13.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Process" Version="1.13.0-beta.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.Process" />
paket add OpenTelemetry.Instrumentation.Process --version 1.13.0-beta.1
#r "nuget: OpenTelemetry.Instrumentation.Process, 1.13.0-beta.1"
#:package OpenTelemetry.Instrumentation.Process@1.13.0-beta.1
#addin nuget:?package=OpenTelemetry.Instrumentation.Process&version=1.13.0-beta.1&prerelease
#tool nuget:?package=OpenTelemetry.Instrumentation.Process&version=1.13.0-beta.1&prerelease
Process Instrumentation for OpenTelemetry .NET
| Status | |
|---|---|
| Stability | Beta |
| Code Owners | @Yun-Ting |
This is an Instrumentation Library, which instruments .NET and collects telemetry about process behavior.
The process metric instruments being implemented are following OpenTelemetry metrics semantic conventions.
Steps to enable OpenTelemetry.Instrumentation.Process
Step 1: Install package
Add a reference to
OpenTelemetry.Instrumentation.Process
package.
dotnet add package --prerelease OpenTelemetry.Instrumentation.Process
Add a reference to
OpenTelemetry.Exporter.Prometheus.HttpListener
package.
dotnet add package --prerelease OpenTelemetry.Exporter.Prometheus.HttpListener
Step 2: Enable Process instrumentation
Process instrumentation should be enabled at application startup using the
AddProcessInstrumentation extension on MeterProviderBuilder:
using var meterProvider = Sdk.CreateMeterProviderBuilder()
.AddProcessInstrumentation()
.AddPrometheusHttpListener()
.Build();
Refer to Program.cs for a
complete demo. This examples sets up the OpenTelemetry Prometheus exporter,
which requires adding the package
OpenTelemetry.Exporter.Prometheus.HttpListener
to the application.
Additionally, this
document
shows how to use Prometheus and Grafana to build a dashboard for your
application.
This
is the Grafana dashboard template which has all the metrics currently supported
by this package; plus an additional aggregated metric CPU utilization
calculated with the raw metrics, CPU time and CPU count.
Please follow the instructions in this document to import a Grafana dashboard by uploading the JSON template file.
Metrics
process.memory.usage
The amount of physical memory allocated for this process.
| Units | Instrument Type | Value Type |
|---|---|---|
By |
ObservableUpDownCounter | Double |
The API used to retrieve the value is:
- Process.WorkingSet64: Gets the amount of physical memory, in bytes, allocated for the associated process.
process.memory.virtual
The amount of committed virtual memory for this process. One way to think of this is all the address space this process can read from without triggering an access violation; this includes memory backed solely by RAM, by a swapfile/pagefile and by other mapped files on disk.
| Units | Instrument Type | Value Type |
|---|---|---|
By |
ObservableUpDownCounter | Double |
The API used to retrieve the value is:
- Process.VirtualMemorySize64: Gets the amount of the virtual memory, in bytes, allocated for the associated process.
process.cpu.time
Total CPU seconds broken down by states.
| Units | Instrument Type | Value Type | Attribute Key(s) | Attribute Values |
|---|---|---|---|---|
s |
ObservableCounter | Double |
process.cpu.state | user, system |
The APIs used to retrieve the values are:
Process.UserProcessorTime: Gets the user processor time for this process.
Process.PrivilegedProcessorTime: Gets the privileged processor time for this process.
process.cpu.count
The number of processors (CPU cores) available to the current process.
| Units | Instrument Type | Value Type |
|---|---|---|
{processors} |
ObservableUpDownCounter | Int32 |
The API used to retrieve the value is System.Environment.ProcessorCount.
This metric is under discussion and not part of the Process Metrics Spec at this time.
process.thread.count
Process threads count.
| Units | Instrument Type | Value Type |
|---|---|---|
{thread} |
ObservableUpDownCounter | Int32 |
The API used to retrieve the value is:
- Process.Threads: Gets the set of threads that are running in the associated process.
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
- OpenTelemetry.Api (>= 1.13.1 && < 2.0.0)
NuGet packages (64)
Showing the top 5 NuGet packages that depend on OpenTelemetry.Instrumentation.Process:
| Package | Downloads |
|---|---|
|
OpenTelemetry.AutoInstrumentation.Runtime.Managed
Managed components used by the OpenTelemetry.AutoInstrumentation project. |
|
|
Grafana.OpenTelemetry.Base
Minimal Grafana distribution of OpenTelemetry .NET |
|
|
Beamable.Microservice.Runtime
The Beamable.Microservice.Runtime package contains the code required for running C# Microservices. |
|
|
Fluxera.Extensions.Hosting.Modules.OpenTelemetry
A module that enables OpenTelemetry monitoring. |
|
|
Elastic.OpenTelemetry
OpenTelemetry extensions for Elastic Observability. |
GitHub repositories (19)
Showing the top 19 popular GitHub repositories that depend on OpenTelemetry.Instrumentation.Process:
| Repository | Stars |
|---|---|
|
fullstackhero/dotnet-starter-kit
Production Grade Cloud-Ready .NET 9 Starter Kit (Web API + Blazor Client) with Multitenancy Support, and Clean/Modular Architecture that saves roughly 200+ Development Hours! All Batteries Included.
|
|
|
microsoft/dotnet-podcasts
.NET reference application shown at .NET Conf featuring ASP.NET Core, Blazor, .NET MAUI, Microservices, Orleans, Playwright, and more!
|
|
|
exceptionless/Exceptionless
Exceptionless application
|
|
|
phongnguyend/Practical.CleanArchitecture
Full-stack .Net 9 Clean Architecture (Microservices, Modular Monolith, Monolith), Blazor, Angular 20, React 19, Vue 3.5, BFF with YARP, NextJs 15, Domain-Driven Design, CQRS, SOLID, Asp.Net Core Identity Custom Storage, OpenID Connect, EF Core, OpenTelemetry, SignalR, Background Services, Health Checks, Rate Limiting, Clouds (Azure, AWS, GCP), ..
|
|
|
Azure/azure-functions-host
The host/runtime that powers Azure Functions
|
|
|
GZTimeWalker/GZCTF
The GZ::CTF project, an open source CTF platform.
|
|
|
meysamhadeli/booking-microservices
A practical microservices with the latest technologies and architectures like Vertical Slice Architecture, Event Sourcing, CQRS, DDD, gRpc, MongoDB, RabbitMq, Masstransit, and Aspire in .Net 9.
|
|
|
mehdihadeli/food-delivery-microservices
🍔 A practical and cloud-native food delivery microservices, built with .Net Aspire, .Net 9, MassTransit, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
|
|
|
NikiforovAll/keycloak-authorization-services-dotnet
Authentication and Authorization with Keycloak and ASP.NET Core 🔐
|
|
|
nkdAgility/azure-devops-migration-tools
Azure DevOps Migration Tools allow you to migrate Teams, Backlogs, Work Items, Tasks, Test Cases, and Plans & Suits from one Project to another in Azure DevOps / TFS both within the same Organisation, and between Organisations.
|
|
|
VocaDB/vocadb
VocaDB is a Vocaloid Database with translated artists, albums, music videos and more.
|
|
|
meysamhadeli/booking-modular-monolith
A practical Modular Monolith architecture with the latest technologies and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, DDD, gRpc, Masstransit, and Aspire in .Net 9.
|
|
|
axzxs2001/Asp.NetCoreExperiment
原来所有项目都移动到**OleVersion**目录下进行保留。新的案例装以.net 5.0为主,一部分对以前案例进行升级,一部分将以前的工作经验总结出来,以供大家参考!
|
|
|
IvanJosipovic/KubeUI
Kubernetes User Interface
|
|
|
mehdihadeli/vertical-slice-api-template
🍰 An asp.net core template based on .Net 9, Vertical Slice Architecture, CQRS, Minimal APIs, OpenTelemetry, API Versioning and OpenAPI.
|
|
|
FritzAndFriends/TagzApp
An application that discovers content on social media for hashtags
|
|
|
baranacikgoz/modular-monolith-ddd-vsa-webapi
A .NET 9 Webapi boilerplate with Modular Monolith approach, Domain-Driven Design and Vertical Slices architecture along with Clean Architecture principles per feature.
|
|
|
SapiensAnatis/Dawnshard
Server emulator for Dragalia Lost
|
|
|
BigBang1112/gbx-net
General purpose library for Gbx files - data from Nadeo games like Trackmania or Shootmania, written in C#/.NET. It supports high performance serialization and deserialization of 400+ Gbx classes.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 1.13.0-beta.1 | 20,326 | 10/22/2025 |
| 1.12.0-beta.1 | 2,150,744 | 5/5/2025 |
| 1.11.0-beta.2 | 1,865,467 | 3/5/2025 |
| 1.11.0-beta.1 | 863,542 | 1/27/2025 |
| 1.10.0-beta.1 | 1,262,631 | 12/9/2024 |
| 0.5.0-beta.7 | 4,365,271 | 9/25/2024 |
| 0.5.0-beta.6 | 4,109,148 | 6/18/2024 |
| 0.5.0-beta.5 | 3,837,678 | 4/5/2024 |
| 0.5.0-beta.4 | 4,429,850 | 1/4/2024 |
| 0.5.0-beta.3 | 5,092,675 | 6/9/2023 |
| 0.5.0-beta.2 | 1,274,647 | 2/28/2023 |
| 0.5.0-beta.1 | 99,859 | 2/17/2023 |