opentelemetry_semantic_conventions/metric.rs
1// DO NOT EDIT, this is an auto-generated file
2//
3// If you want to update the file:
4// - Edit the template at scripts/templates/registry/rust/metric.rs.j2
5// - Run the script at scripts/generate-consts-from-spec.sh
6
7//! # Metric Semantic Conventions
8//!
9//! The [metric semantic conventions] define a set of standardized attributes to
10//! be used in `Meter`s.
11//!
12//! [metric semantic conventions]: https://github.com/open-telemetry/semantic-conventions/tree/main/model/metric
13//!
14//! ## Usage
15//!
16//! ```rust
17//! use opentelemetry::{global, KeyValue};
18//! use opentelemetry_semantic_conventions as semconv;
19//!
20//! // Assumes we already have an initialized `MeterProvider`
21//! // See: https://github.com/open-telemetry/opentelemetry-rust/blob/main/examples/metrics-basic/src/main.rs
22//! // for an example
23//! let meter = global::meter("mylibraryname");
24//! let histogram = meter
25//! .u64_histogram(semconv::metric::HTTP_SERVER_REQUEST_DURATION)
26//! .with_unit("By")
27//! .with_description("Duration of HTTP server requests.")
28//! .build();
29//! ```
30
31/// ## Description
32///
33/// Number of exceptions caught by exception handling middleware.
34///
35/// ## Notes
36///
37/// Meter name: `Microsoft.AspNetCore.Diagnostics`; Added in: ASP.NET Core 8.0
38/// ## Metadata
39/// | | |
40/// |:-|:-
41/// | Instrument: | `counter` |
42/// | Unit: | `{exception}` |
43/// | Status: | `Stable` |
44///
45/// ## Attributes
46/// | Name | Requirement |
47/// |:-|:- |
48/// | [`crate::attribute::ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT`] | `Required`
49/// | [`crate::attribute::ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE`] | `Conditionally_required`: if and only if the exception was handled by this handler.
50/// | [`crate::attribute::ERROR_TYPE`] | `Required`
51pub const ASPNETCORE_DIAGNOSTICS_EXCEPTIONS: &str = "aspnetcore.diagnostics.exceptions";
52
53/// ## Description
54///
55/// Number of requests that are currently active on the server that hold a rate limiting lease.
56///
57/// ## Notes
58///
59/// Meter name: `Microsoft.AspNetCore.RateLimiting`; Added in: ASP.NET Core 8.0
60/// ## Metadata
61/// | | |
62/// |:-|:-
63/// | Instrument: | `updowncounter` |
64/// | Unit: | `{request}` |
65/// | Status: | `Stable` |
66///
67/// ## Attributes
68/// | Name | Requirement |
69/// |:-|:- |
70/// | [`crate::attribute::ASPNETCORE_RATE_LIMITING_POLICY`] | `Conditionally_required`: if the matched endpoint for the request had a rate-limiting policy.
71pub const ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES: &str =
72 "aspnetcore.rate_limiting.active_request_leases";
73
74/// ## Description
75///
76/// Number of requests that are currently queued, waiting to acquire a rate limiting lease.
77///
78/// ## Notes
79///
80/// Meter name: `Microsoft.AspNetCore.RateLimiting`; Added in: ASP.NET Core 8.0
81/// ## Metadata
82/// | | |
83/// |:-|:-
84/// | Instrument: | `updowncounter` |
85/// | Unit: | `{request}` |
86/// | Status: | `Stable` |
87///
88/// ## Attributes
89/// | Name | Requirement |
90/// |:-|:- |
91/// | [`crate::attribute::ASPNETCORE_RATE_LIMITING_POLICY`] | `Conditionally_required`: if the matched endpoint for the request had a rate-limiting policy.
92pub const ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS: &str =
93 "aspnetcore.rate_limiting.queued_requests";
94
95/// ## Description
96///
97/// The time the request spent in a queue waiting to acquire a rate limiting lease.
98///
99/// ## Notes
100///
101/// Meter name: `Microsoft.AspNetCore.RateLimiting`; Added in: ASP.NET Core 8.0
102/// ## Metadata
103/// | | |
104/// |:-|:-
105/// | Instrument: | `histogram` |
106/// | Unit: | `s` |
107/// | Status: | `Stable` |
108///
109/// ## Attributes
110/// | Name | Requirement |
111/// |:-|:- |
112/// | [`crate::attribute::ASPNETCORE_RATE_LIMITING_POLICY`] | `Conditionally_required`: if the matched endpoint for the request had a rate-limiting policy.
113/// | [`crate::attribute::ASPNETCORE_RATE_LIMITING_RESULT`] | `Required`
114pub const ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE: &str =
115 "aspnetcore.rate_limiting.request.time_in_queue";
116
117/// ## Description
118///
119/// The duration of rate limiting lease held by requests on the server.
120///
121/// ## Notes
122///
123/// Meter name: `Microsoft.AspNetCore.RateLimiting`; Added in: ASP.NET Core 8.0
124/// ## Metadata
125/// | | |
126/// |:-|:-
127/// | Instrument: | `histogram` |
128/// | Unit: | `s` |
129/// | Status: | `Stable` |
130///
131/// ## Attributes
132/// | Name | Requirement |
133/// |:-|:- |
134/// | [`crate::attribute::ASPNETCORE_RATE_LIMITING_POLICY`] | `Conditionally_required`: if the matched endpoint for the request had a rate-limiting policy.
135pub const ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION: &str =
136 "aspnetcore.rate_limiting.request_lease.duration";
137
138/// ## Description
139///
140/// Number of requests that tried to acquire a rate limiting lease.
141///
142/// ## Notes
143///
144/// Requests could be:
145///
146/// - Rejected by global or endpoint rate limiting policies
147/// - Canceled while waiting for the lease.
148///
149/// Meter name: `Microsoft.AspNetCore.RateLimiting`; Added in: ASP.NET Core 8.0
150/// ## Metadata
151/// | | |
152/// |:-|:-
153/// | Instrument: | `counter` |
154/// | Unit: | `{request}` |
155/// | Status: | `Stable` |
156///
157/// ## Attributes
158/// | Name | Requirement |
159/// |:-|:- |
160/// | [`crate::attribute::ASPNETCORE_RATE_LIMITING_POLICY`] | `Conditionally_required`: if the matched endpoint for the request had a rate-limiting policy.
161/// | [`crate::attribute::ASPNETCORE_RATE_LIMITING_RESULT`] | `Required`
162pub const ASPNETCORE_RATE_LIMITING_REQUESTS: &str = "aspnetcore.rate_limiting.requests";
163
164/// ## Description
165///
166/// Number of requests that were attempted to be matched to an endpoint.
167///
168/// ## Notes
169///
170/// Meter name: `Microsoft.AspNetCore.Routing`; Added in: ASP.NET Core 8.0
171/// ## Metadata
172/// | | |
173/// |:-|:-
174/// | Instrument: | `counter` |
175/// | Unit: | `{match_attempt}` |
176/// | Status: | `Stable` |
177///
178/// ## Attributes
179/// | Name | Requirement |
180/// |:-|:- |
181/// | [`crate::attribute::ASPNETCORE_ROUTING_IS_FALLBACK`] | `Conditionally_required`: if and only if a route was successfully matched.
182/// | [`crate::attribute::ASPNETCORE_ROUTING_MATCH_STATUS`] | `Required`
183/// | [`crate::attribute::HTTP_ROUTE`] | `Conditionally_required`: if and only if a route was successfully matched.
184pub const ASPNETCORE_ROUTING_MATCH_ATTEMPTS: &str = "aspnetcore.routing.match_attempts";
185
186/// ## Description
187///
188/// Number of active client instances
189/// ## Metadata
190/// | | |
191/// |:-|:-
192/// | Instrument: | `updowncounter` |
193/// | Unit: | `{instance}` |
194/// | Status: | `Development` |
195///
196/// ## Attributes
197/// | Name | Requirement |
198/// |:-|:- |
199/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
200/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
201#[cfg(feature = "semconv_experimental")]
202pub const AZURE_COSMOSDB_CLIENT_ACTIVE_INSTANCE_COUNT: &str =
203 "azure.cosmosdb.client.active_instance.count";
204
205/// ## Description
206///
207/// [Request units](https://learn.microsoft.com/azure/cosmos-db/request-units) consumed by the operation
208/// ## Metadata
209/// | | |
210/// |:-|:-
211/// | Instrument: | `histogram` |
212/// | Unit: | `{request_unit}` |
213/// | Status: | `Development` |
214///
215/// ## Attributes
216/// | Name | Requirement |
217/// |:-|:- |
218/// | [`crate::attribute::AZURE_COSMOSDB_CONSISTENCY_LEVEL`] | `Conditionally_required`: If available.
219/// | [`crate::attribute::AZURE_COSMOSDB_OPERATION_CONTACTED_REGIONS`] | `{"recommended": "if available"}`
220/// | [`crate::attribute::AZURE_COSMOSDB_RESPONSE_SUB_STATUS_CODE`] | `Conditionally_required`: when response was received and contained sub-code.
221/// | [`crate::attribute::DB_COLLECTION_NAME`] | `Conditionally_required`: If available.
222/// | [`crate::attribute::DB_NAMESPACE`] | `Conditionally_required`: If available.
223/// | [`crate::attribute::DB_OPERATION_NAME`] | `Conditionally_required`: If readily available and if there is a single operation name that describes the database call. The operation name MAY be parsed from the query text, in which case it SHOULD be the single operation name found in the query.
224/// | [`crate::attribute::DB_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If the operation failed and status code is available.
225/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the operation failed.
226/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
227/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
228#[cfg(feature = "semconv_experimental")]
229pub const AZURE_COSMOSDB_CLIENT_OPERATION_REQUEST_CHARGE: &str =
230 "azure.cosmosdb.client.operation.request_charge";
231
232/// ## Description
233///
234/// The number of pipeline runs currently active in the system by state
235/// ## Metadata
236/// | | |
237/// |:-|:-
238/// | Instrument: | `updowncounter` |
239/// | Unit: | `{run}` |
240/// | Status: | `Development` |
241///
242/// ## Attributes
243/// | Name | Requirement |
244/// |:-|:- |
245/// | [`crate::attribute::CICD_PIPELINE_NAME`] | `Required`
246/// | [`crate::attribute::CICD_PIPELINE_RUN_STATE`] | `Required`
247#[cfg(feature = "semconv_experimental")]
248pub const CICD_PIPELINE_RUN_ACTIVE: &str = "cicd.pipeline.run.active";
249
250/// ## Description
251///
252/// Duration of a pipeline run grouped by pipeline, state and result
253/// ## Metadata
254/// | | |
255/// |:-|:-
256/// | Instrument: | `histogram` |
257/// | Unit: | `s` |
258/// | Status: | `Development` |
259///
260/// ## Attributes
261/// | Name | Requirement |
262/// |:-|:- |
263/// | [`crate::attribute::CICD_PIPELINE_NAME`] | `Required`
264/// | [`crate::attribute::CICD_PIPELINE_RESULT`] | `Conditionally_required`: If and only if the pipeline run result has been set during that state.
265/// | [`crate::attribute::CICD_PIPELINE_RUN_STATE`] | `Required`
266/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the pipeline run failed.
267#[cfg(feature = "semconv_experimental")]
268pub const CICD_PIPELINE_RUN_DURATION: &str = "cicd.pipeline.run.duration";
269
270/// ## Description
271///
272/// The number of errors encountered in pipeline runs (eg. compile, test failures).
273///
274/// ## Notes
275///
276/// There might be errors in a pipeline run that are non fatal (eg. they are suppressed) or in a parallel stage multiple stages could have a fatal error.
277/// This means that this error count might not be the same as the count of metric `cicd.pipeline.run.duration` with run result `failure`
278/// ## Metadata
279/// | | |
280/// |:-|:-
281/// | Instrument: | `counter` |
282/// | Unit: | `{error}` |
283/// | Status: | `Development` |
284///
285/// ## Attributes
286/// | Name | Requirement |
287/// |:-|:- |
288/// | [`crate::attribute::CICD_PIPELINE_NAME`] | `Required`
289/// | [`crate::attribute::ERROR_TYPE`] | `Required`
290#[cfg(feature = "semconv_experimental")]
291pub const CICD_PIPELINE_RUN_ERRORS: &str = "cicd.pipeline.run.errors";
292
293/// ## Description
294///
295/// The number of errors in a component of the CICD system (eg. controller, scheduler, agent).
296///
297/// ## Notes
298///
299/// Errors in pipeline run execution are explicitly excluded. Ie a test failure is not counted in this metric
300/// ## Metadata
301/// | | |
302/// |:-|:-
303/// | Instrument: | `counter` |
304/// | Unit: | `{error}` |
305/// | Status: | `Development` |
306///
307/// ## Attributes
308/// | Name | Requirement |
309/// |:-|:- |
310/// | [`crate::attribute::CICD_SYSTEM_COMPONENT`] | `Required`
311/// | [`crate::attribute::ERROR_TYPE`] | `Required`
312#[cfg(feature = "semconv_experimental")]
313pub const CICD_SYSTEM_ERRORS: &str = "cicd.system.errors";
314
315/// ## Description
316///
317/// The number of workers on the CICD system by state
318/// ## Metadata
319/// | | |
320/// |:-|:-
321/// | Instrument: | `updowncounter` |
322/// | Unit: | `{count}` |
323/// | Status: | `Development` |
324///
325/// ## Attributes
326/// | Name | Requirement |
327/// |:-|:- |
328/// | [`crate::attribute::CICD_WORKER_STATE`] | `Required`
329#[cfg(feature = "semconv_experimental")]
330pub const CICD_WORKER_COUNT: &str = "cicd.worker.count";
331
332/// ## Description
333///
334/// Total CPU time consumed
335///
336/// ## Notes
337///
338/// Total CPU time consumed by the specific container on all available CPU cores
339/// ## Metadata
340/// | | |
341/// |:-|:-
342/// | Instrument: | `counter` |
343/// | Unit: | `s` |
344/// | Status: | `Development` |
345///
346/// ## Attributes
347/// | Name | Requirement |
348/// |:-|:- |
349/// | [`crate::attribute::CPU_MODE`] | `Conditionally_required`: Required if mode is available, i.e. metrics coming from the Docker Stats API.
350#[cfg(feature = "semconv_experimental")]
351pub const CONTAINER_CPU_TIME: &str = "container.cpu.time";
352
353/// ## Description
354///
355/// Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs
356///
357/// ## Notes
358///
359/// CPU usage of the specific container on all available CPU cores, averaged over the sample window
360/// ## Metadata
361/// | | |
362/// |:-|:-
363/// | Instrument: | `gauge` |
364/// | Unit: | `{cpu}` |
365/// | Status: | `Development` |
366///
367/// ## Attributes
368/// | Name | Requirement |
369/// |:-|:- |
370/// | [`crate::attribute::CPU_MODE`] | `Conditionally_required`: Required if mode is available, i.e. metrics coming from the Docker Stats API.
371#[cfg(feature = "semconv_experimental")]
372pub const CONTAINER_CPU_USAGE: &str = "container.cpu.usage";
373
374/// ## Description
375///
376/// Disk bytes for the container.
377///
378/// ## Notes
379///
380/// The total number of bytes read/written successfully (aggregated from all disks)
381/// ## Metadata
382/// | | |
383/// |:-|:-
384/// | Instrument: | `counter` |
385/// | Unit: | `By` |
386/// | Status: | `Development` |
387///
388/// ## Attributes
389/// | Name | Requirement |
390/// |:-|:- |
391/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
392/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
393#[cfg(feature = "semconv_experimental")]
394pub const CONTAINER_DISK_IO: &str = "container.disk.io";
395
396/// ## Description
397///
398/// Memory usage of the container.
399///
400/// ## Notes
401///
402/// Memory usage of the container
403/// ## Metadata
404/// | | |
405/// |:-|:-
406/// | Instrument: | `counter` |
407/// | Unit: | `By` |
408/// | Status: | `Development` |
409#[cfg(feature = "semconv_experimental")]
410pub const CONTAINER_MEMORY_USAGE: &str = "container.memory.usage";
411
412/// ## Description
413///
414/// Network bytes for the container.
415///
416/// ## Notes
417///
418/// The number of bytes sent/received on all network interfaces by the container
419/// ## Metadata
420/// | | |
421/// |:-|:-
422/// | Instrument: | `counter` |
423/// | Unit: | `By` |
424/// | Status: | `Development` |
425///
426/// ## Attributes
427/// | Name | Requirement |
428/// |:-|:- |
429/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
430/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
431#[cfg(feature = "semconv_experimental")]
432pub const CONTAINER_NETWORK_IO: &str = "container.network.io";
433
434/// ## Description
435///
436/// The time the container has been running
437///
438/// ## Notes
439///
440/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
441/// The actual accuracy would depend on the instrumentation and operating system
442/// ## Metadata
443/// | | |
444/// |:-|:-
445/// | Instrument: | `gauge` |
446/// | Unit: | `s` |
447/// | Status: | `Development` |
448#[cfg(feature = "semconv_experimental")]
449pub const CONTAINER_UPTIME: &str = "container.uptime";
450
451/// ## Description
452///
453/// The number of connections that are currently in state described by the `state` attribute
454/// ## Metadata
455/// | | |
456/// |:-|:-
457/// | Instrument: | `updowncounter` |
458/// | Unit: | `{connection}` |
459/// | Status: | `Development` |
460///
461/// ## Attributes
462/// | Name | Requirement |
463/// |:-|:- |
464/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
465/// | [`crate::attribute::DB_CLIENT_CONNECTION_STATE`] | `Required`
466#[cfg(feature = "semconv_experimental")]
467pub const DB_CLIENT_CONNECTION_COUNT: &str = "db.client.connection.count";
468
469/// ## Description
470///
471/// The time it took to create a new connection
472/// ## Metadata
473/// | | |
474/// |:-|:-
475/// | Instrument: | `histogram` |
476/// | Unit: | `s` |
477/// | Status: | `Development` |
478///
479/// ## Attributes
480/// | Name | Requirement |
481/// |:-|:- |
482/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
483#[cfg(feature = "semconv_experimental")]
484pub const DB_CLIENT_CONNECTION_CREATE_TIME: &str = "db.client.connection.create_time";
485
486/// ## Description
487///
488/// The maximum number of idle open connections allowed
489/// ## Metadata
490/// | | |
491/// |:-|:-
492/// | Instrument: | `updowncounter` |
493/// | Unit: | `{connection}` |
494/// | Status: | `Development` |
495///
496/// ## Attributes
497/// | Name | Requirement |
498/// |:-|:- |
499/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
500#[cfg(feature = "semconv_experimental")]
501pub const DB_CLIENT_CONNECTION_IDLE_MAX: &str = "db.client.connection.idle.max";
502
503/// ## Description
504///
505/// The minimum number of idle open connections allowed
506/// ## Metadata
507/// | | |
508/// |:-|:-
509/// | Instrument: | `updowncounter` |
510/// | Unit: | `{connection}` |
511/// | Status: | `Development` |
512///
513/// ## Attributes
514/// | Name | Requirement |
515/// |:-|:- |
516/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
517#[cfg(feature = "semconv_experimental")]
518pub const DB_CLIENT_CONNECTION_IDLE_MIN: &str = "db.client.connection.idle.min";
519
520/// ## Description
521///
522/// The maximum number of open connections allowed
523/// ## Metadata
524/// | | |
525/// |:-|:-
526/// | Instrument: | `updowncounter` |
527/// | Unit: | `{connection}` |
528/// | Status: | `Development` |
529///
530/// ## Attributes
531/// | Name | Requirement |
532/// |:-|:- |
533/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
534#[cfg(feature = "semconv_experimental")]
535pub const DB_CLIENT_CONNECTION_MAX: &str = "db.client.connection.max";
536
537/// ## Description
538///
539/// The number of current pending requests for an open connection
540/// ## Metadata
541/// | | |
542/// |:-|:-
543/// | Instrument: | `updowncounter` |
544/// | Unit: | `{request}` |
545/// | Status: | `Development` |
546///
547/// ## Attributes
548/// | Name | Requirement |
549/// |:-|:- |
550/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
551#[cfg(feature = "semconv_experimental")]
552pub const DB_CLIENT_CONNECTION_PENDING_REQUESTS: &str = "db.client.connection.pending_requests";
553
554/// ## Description
555///
556/// The number of connection timeouts that have occurred trying to obtain a connection from the pool
557/// ## Metadata
558/// | | |
559/// |:-|:-
560/// | Instrument: | `counter` |
561/// | Unit: | `{timeout}` |
562/// | Status: | `Development` |
563///
564/// ## Attributes
565/// | Name | Requirement |
566/// |:-|:- |
567/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
568#[cfg(feature = "semconv_experimental")]
569pub const DB_CLIENT_CONNECTION_TIMEOUTS: &str = "db.client.connection.timeouts";
570
571/// ## Description
572///
573/// The time between borrowing a connection and returning it to the pool
574/// ## Metadata
575/// | | |
576/// |:-|:-
577/// | Instrument: | `histogram` |
578/// | Unit: | `s` |
579/// | Status: | `Development` |
580///
581/// ## Attributes
582/// | Name | Requirement |
583/// |:-|:- |
584/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
585#[cfg(feature = "semconv_experimental")]
586pub const DB_CLIENT_CONNECTION_USE_TIME: &str = "db.client.connection.use_time";
587
588/// ## Description
589///
590/// The time it took to obtain an open connection from the pool
591/// ## Metadata
592/// | | |
593/// |:-|:-
594/// | Instrument: | `histogram` |
595/// | Unit: | `s` |
596/// | Status: | `Development` |
597///
598/// ## Attributes
599/// | Name | Requirement |
600/// |:-|:- |
601/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
602#[cfg(feature = "semconv_experimental")]
603pub const DB_CLIENT_CONNECTION_WAIT_TIME: &str = "db.client.connection.wait_time";
604
605/// ## Description
606///
607/// Deprecated, use `db.client.connection.create_time` instead. Note: the unit also changed from `ms` to `s`
608/// ## Metadata
609/// | | |
610/// |:-|:-
611/// | Instrument: | `histogram` |
612/// | Unit: | `ms` |
613/// | Status: | `Development` |
614///
615/// ## Attributes
616/// | Name | Requirement |
617/// |:-|:- |
618/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
619#[cfg(feature = "semconv_experimental")]
620#[deprecated(
621 note = "Replaced by `db.client.connection.create_time`. Note: the unit also changed from `ms` to `s`."
622)]
623pub const DB_CLIENT_CONNECTIONS_CREATE_TIME: &str = "db.client.connections.create_time";
624
625/// ## Description
626///
627/// Deprecated, use `db.client.connection.idle.max` instead
628/// ## Metadata
629/// | | |
630/// |:-|:-
631/// | Instrument: | `updowncounter` |
632/// | Unit: | `{connection}` |
633/// | Status: | `Development` |
634///
635/// ## Attributes
636/// | Name | Requirement |
637/// |:-|:- |
638/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
639#[cfg(feature = "semconv_experimental")]
640#[deprecated(note = "Replaced by `db.client.connection.idle.max`.")]
641pub const DB_CLIENT_CONNECTIONS_IDLE_MAX: &str = "db.client.connections.idle.max";
642
643/// ## Description
644///
645/// Deprecated, use `db.client.connection.idle.min` instead
646/// ## Metadata
647/// | | |
648/// |:-|:-
649/// | Instrument: | `updowncounter` |
650/// | Unit: | `{connection}` |
651/// | Status: | `Development` |
652///
653/// ## Attributes
654/// | Name | Requirement |
655/// |:-|:- |
656/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
657#[cfg(feature = "semconv_experimental")]
658#[deprecated(note = "Replaced by `db.client.connection.idle.min`.")]
659pub const DB_CLIENT_CONNECTIONS_IDLE_MIN: &str = "db.client.connections.idle.min";
660
661/// ## Description
662///
663/// Deprecated, use `db.client.connection.max` instead
664/// ## Metadata
665/// | | |
666/// |:-|:-
667/// | Instrument: | `updowncounter` |
668/// | Unit: | `{connection}` |
669/// | Status: | `Development` |
670///
671/// ## Attributes
672/// | Name | Requirement |
673/// |:-|:- |
674/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
675#[cfg(feature = "semconv_experimental")]
676#[deprecated(note = "Replaced by `db.client.connection.max`.")]
677pub const DB_CLIENT_CONNECTIONS_MAX: &str = "db.client.connections.max";
678
679/// ## Description
680///
681/// Deprecated, use `db.client.connection.pending_requests` instead
682/// ## Metadata
683/// | | |
684/// |:-|:-
685/// | Instrument: | `updowncounter` |
686/// | Unit: | `{request}` |
687/// | Status: | `Development` |
688///
689/// ## Attributes
690/// | Name | Requirement |
691/// |:-|:- |
692/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
693#[cfg(feature = "semconv_experimental")]
694#[deprecated(note = "Replaced by `db.client.connection.pending_requests`.")]
695pub const DB_CLIENT_CONNECTIONS_PENDING_REQUESTS: &str = "db.client.connections.pending_requests";
696
697/// ## Description
698///
699/// Deprecated, use `db.client.connection.timeouts` instead
700/// ## Metadata
701/// | | |
702/// |:-|:-
703/// | Instrument: | `counter` |
704/// | Unit: | `{timeout}` |
705/// | Status: | `Development` |
706///
707/// ## Attributes
708/// | Name | Requirement |
709/// |:-|:- |
710/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
711#[cfg(feature = "semconv_experimental")]
712#[deprecated(note = "Replaced by `db.client.connection.timeouts`.")]
713pub const DB_CLIENT_CONNECTIONS_TIMEOUTS: &str = "db.client.connections.timeouts";
714
715/// ## Description
716///
717/// Deprecated, use `db.client.connection.count` instead
718/// ## Metadata
719/// | | |
720/// |:-|:-
721/// | Instrument: | `updowncounter` |
722/// | Unit: | `{connection}` |
723/// | Status: | `Development` |
724///
725/// ## Attributes
726/// | Name | Requirement |
727/// |:-|:- |
728/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
729/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_STATE`] | `Required`
730#[cfg(feature = "semconv_experimental")]
731#[deprecated(note = "Replaced by `db.client.connection.count`.")]
732pub const DB_CLIENT_CONNECTIONS_USAGE: &str = "db.client.connections.usage";
733
734/// ## Description
735///
736/// Deprecated, use `db.client.connection.use_time` instead. Note: the unit also changed from `ms` to `s`
737/// ## Metadata
738/// | | |
739/// |:-|:-
740/// | Instrument: | `histogram` |
741/// | Unit: | `ms` |
742/// | Status: | `Development` |
743///
744/// ## Attributes
745/// | Name | Requirement |
746/// |:-|:- |
747/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
748#[cfg(feature = "semconv_experimental")]
749#[deprecated(
750 note = "Replaced by `db.client.connection.use_time`. Note: the unit also changed from `ms` to `s`."
751)]
752pub const DB_CLIENT_CONNECTIONS_USE_TIME: &str = "db.client.connections.use_time";
753
754/// ## Description
755///
756/// Deprecated, use `db.client.connection.wait_time` instead. Note: the unit also changed from `ms` to `s`
757/// ## Metadata
758/// | | |
759/// |:-|:-
760/// | Instrument: | `histogram` |
761/// | Unit: | `ms` |
762/// | Status: | `Development` |
763///
764/// ## Attributes
765/// | Name | Requirement |
766/// |:-|:- |
767/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
768#[cfg(feature = "semconv_experimental")]
769#[deprecated(
770 note = "Replaced by `db.client.connection.wait_time`. Note: the unit also changed from `ms` to `s`."
771)]
772pub const DB_CLIENT_CONNECTIONS_WAIT_TIME: &str = "db.client.connections.wait_time";
773
774/// ## Description
775///
776/// Deprecated, use `azure.cosmosdb.client.active_instance.count` instead
777/// ## Metadata
778/// | | |
779/// |:-|:-
780/// | Instrument: | `updowncounter` |
781/// | Unit: | `{instance}` |
782/// | Status: | `Development` |
783///
784/// ## Attributes
785/// | Name | Requirement |
786/// |:-|:- |
787/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
788/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
789#[cfg(feature = "semconv_experimental")]
790#[deprecated(note = "Replaced by `azure.cosmosdb.client.active_instance.count`.")]
791pub const DB_CLIENT_COSMOSDB_ACTIVE_INSTANCE_COUNT: &str =
792 "db.client.cosmosdb.active_instance.count";
793
794/// ## Description
795///
796/// Deprecated, use `azure.cosmosdb.client.operation.request_charge` instead
797/// ## Metadata
798/// | | |
799/// |:-|:-
800/// | Instrument: | `histogram` |
801/// | Unit: | `{request_unit}` |
802/// | Status: | `Development` |
803///
804/// ## Attributes
805/// | Name | Requirement |
806/// |:-|:- |
807/// | [`crate::attribute::DB_COLLECTION_NAME`] | `Conditionally_required`: If available.
808/// | [`crate::attribute::DB_COSMOSDB_CONSISTENCY_LEVEL`] | `Conditionally_required`: If available.
809/// | [`crate::attribute::DB_COSMOSDB_REGIONS_CONTACTED`] | `{"recommended": "if available"}`
810/// | [`crate::attribute::DB_COSMOSDB_SUB_STATUS_CODE`] | `Conditionally_required`: when response was received and contained sub-code.
811/// | [`crate::attribute::DB_NAMESPACE`] | `Conditionally_required`: If available.
812/// | [`crate::attribute::DB_OPERATION_NAME`] | `Conditionally_required`: If readily available and if there is a single operation name that describes the database call. The operation name MAY be parsed from the query text, in which case it SHOULD be the single operation name found in the query.
813#[cfg(feature = "semconv_experimental")]
814#[deprecated(note = "Replaced by `azure.cosmosdb.client.operation.request_charge`.")]
815pub const DB_CLIENT_COSMOSDB_OPERATION_REQUEST_CHARGE: &str =
816 "db.client.cosmosdb.operation.request_charge";
817
818/// ## Description
819///
820/// Duration of database client operations.
821///
822/// ## Notes
823///
824/// Batch operations SHOULD be recorded as a single operation
825/// ## Metadata
826/// | | |
827/// |:-|:-
828/// | Instrument: | `histogram` |
829/// | Unit: | `s` |
830/// | Status: | `Release_candidate` |
831///
832/// ## Attributes
833/// | Name | Requirement |
834/// |:-|:- |
835/// | [`crate::attribute::DB_COLLECTION_NAME`] | `Conditionally_required`: If readily available and if a database call is performed on a single collection. The collection name MAY be parsed from the query text, in which case it SHOULD be the single collection name in the query.
836/// | [`crate::attribute::DB_NAMESPACE`] | `Conditionally_required`: If available.
837/// | [`crate::attribute::DB_OPERATION_NAME`] | `Conditionally_required`: If readily available and if there is a single operation name that describes the database call. The operation name MAY be parsed from the query text, in which case it SHOULD be the single operation name found in the query.
838/// | [`crate::attribute::DB_QUERY_SUMMARY`] | `{"recommended": "if readily available or if instrumentation supports query summarization."}`
839/// | [`crate::attribute::DB_QUERY_TEXT`] | `Opt_in`
840/// | [`crate::attribute::DB_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If the operation failed and status code is available.
841/// | [`crate::attribute::DB_SYSTEM_NAME`] | `Required`
842/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the operation failed.
843/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `{"recommended": "if applicable for this database system."}`
844/// | [`crate::attribute::NETWORK_PEER_PORT`] | `{"recommended": "if and only if `network.peer.address` is set."}`
845/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
846/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
847#[cfg(feature = "semconv_experimental")]
848pub const DB_CLIENT_OPERATION_DURATION: &str = "db.client.operation.duration";
849
850/// ## Description
851///
852/// The actual number of records returned by the database operation
853/// ## Metadata
854/// | | |
855/// |:-|:-
856/// | Instrument: | `histogram` |
857/// | Unit: | `{row}` |
858/// | Status: | `Development` |
859///
860/// ## Attributes
861/// | Name | Requirement |
862/// |:-|:- |
863/// | [`crate::attribute::DB_COLLECTION_NAME`] | `Conditionally_required`: If readily available and if a database call is performed on a single collection. The collection name MAY be parsed from the query text, in which case it SHOULD be the single collection name in the query.
864/// | [`crate::attribute::DB_NAMESPACE`] | `Conditionally_required`: If available.
865/// | [`crate::attribute::DB_OPERATION_NAME`] | `Conditionally_required`: If readily available and if there is a single operation name that describes the database call. The operation name MAY be parsed from the query text, in which case it SHOULD be the single operation name found in the query.
866/// | [`crate::attribute::DB_QUERY_SUMMARY`] | `{"recommended": "if readily available or if instrumentation supports query summarization."}`
867/// | [`crate::attribute::DB_QUERY_TEXT`] | `Opt_in`
868/// | [`crate::attribute::DB_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If the operation failed and status code is available.
869/// | [`crate::attribute::DB_SYSTEM_NAME`] | `Required`
870/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the operation failed.
871/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `{"recommended": "if applicable for this database system."}`
872/// | [`crate::attribute::NETWORK_PEER_PORT`] | `{"recommended": "if and only if `network.peer.address` is set."}`
873/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
874/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
875#[cfg(feature = "semconv_experimental")]
876pub const DB_CLIENT_RESPONSE_RETURNED_ROWS: &str = "db.client.response.returned_rows";
877
878/// ## Description
879///
880/// Measures the time taken to perform a DNS lookup
881/// ## Metadata
882/// | | |
883/// |:-|:-
884/// | Instrument: | `histogram` |
885/// | Unit: | `s` |
886/// | Status: | `Development` |
887///
888/// ## Attributes
889/// | Name | Requirement |
890/// |:-|:- |
891/// | [`crate::attribute::DNS_QUESTION_NAME`] | `Required`
892/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred.
893#[cfg(feature = "semconv_experimental")]
894pub const DNS_LOOKUP_DURATION: &str = "dns.lookup.duration";
895
896/// ## Description
897///
898/// The number of .NET assemblies that are currently loaded.
899///
900/// ## Notes
901///
902/// Meter name: `System.Runtime`; Added in: .NET 9.0.
903/// This metric reports the same values as calling [`AppDomain.CurrentDomain.GetAssemblies().Length`](https://learn.microsoft.com/dotnet/api/system.appdomain.getassemblies)
904/// ## Metadata
905/// | | |
906/// |:-|:-
907/// | Instrument: | `updowncounter` |
908/// | Unit: | `{assembly}` |
909/// | Status: | `Stable` |
910pub const DOTNET_ASSEMBLY_COUNT: &str = "dotnet.assembly.count";
911
912/// ## Description
913///
914/// The number of exceptions that have been thrown in managed code.
915///
916/// ## Notes
917///
918/// Meter name: `System.Runtime`; Added in: .NET 9.0.
919/// This metric reports the same values as counting calls to [`AppDomain.CurrentDomain.FirstChanceException`](https://learn.microsoft.com/dotnet/api/system.appdomain.firstchanceexception)
920/// ## Metadata
921/// | | |
922/// |:-|:-
923/// | Instrument: | `counter` |
924/// | Unit: | `{exception}` |
925/// | Status: | `Stable` |
926///
927/// ## Attributes
928/// | Name | Requirement |
929/// |:-|:- |
930/// | [`crate::attribute::ERROR_TYPE`] | `Required`
931pub const DOTNET_EXCEPTIONS: &str = "dotnet.exceptions";
932
933/// ## Description
934///
935/// The number of garbage collections that have occurred since the process has started.
936///
937/// ## Notes
938///
939/// Meter name: `System.Runtime`; Added in: .NET 9.0.
940/// This metric uses the [`GC.CollectionCount(int generation)`](https://learn.microsoft.com/dotnet/api/system.gc.collectioncount) API to calculate exclusive collections per generation
941/// ## Metadata
942/// | | |
943/// |:-|:-
944/// | Instrument: | `counter` |
945/// | Unit: | `{collection}` |
946/// | Status: | `Stable` |
947///
948/// ## Attributes
949/// | Name | Requirement |
950/// |:-|:- |
951/// | [`crate::attribute::DOTNET_GC_HEAP_GENERATION`] | `Required`
952pub const DOTNET_GC_COLLECTIONS: &str = "dotnet.gc.collections";
953
954/// ## Description
955///
956/// The *approximate* number of bytes allocated on the managed GC heap since the process has started. The returned value does not include any native allocations.
957///
958/// ## Notes
959///
960/// Meter name: `System.Runtime`; Added in: .NET 9.0.
961/// This metric reports the same values as calling [`GC.GetTotalAllocatedBytes()`](https://learn.microsoft.com/dotnet/api/system.gc.gettotalallocatedbytes)
962/// ## Metadata
963/// | | |
964/// |:-|:-
965/// | Instrument: | `counter` |
966/// | Unit: | `By` |
967/// | Status: | `Stable` |
968pub const DOTNET_GC_HEAP_TOTAL_ALLOCATED: &str = "dotnet.gc.heap.total_allocated";
969
970/// ## Description
971///
972/// The heap fragmentation, as observed during the latest garbage collection.
973///
974/// ## Notes
975///
976/// Meter name: `System.Runtime`; Added in: .NET 9.0.
977/// This metric reports the same values as calling [`GC.GetGCMemoryInfo().GenerationInfo.FragmentationAfterBytes`](https://learn.microsoft.com/dotnet/api/system.gcgenerationinfo.fragmentationafterbytes)
978/// ## Metadata
979/// | | |
980/// |:-|:-
981/// | Instrument: | `updowncounter` |
982/// | Unit: | `By` |
983/// | Status: | `Stable` |
984///
985/// ## Attributes
986/// | Name | Requirement |
987/// |:-|:- |
988/// | [`crate::attribute::DOTNET_GC_HEAP_GENERATION`] | `Required`
989pub const DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE: &str =
990 "dotnet.gc.last_collection.heap.fragmentation.size";
991
992/// ## Description
993///
994/// The managed GC heap size (including fragmentation), as observed during the latest garbage collection.
995///
996/// ## Notes
997///
998/// Meter name: `System.Runtime`; Added in: .NET 9.0.
999/// This metric reports the same values as calling [`GC.GetGCMemoryInfo().GenerationInfo.SizeAfterBytes`](https://learn.microsoft.com/dotnet/api/system.gcgenerationinfo.sizeafterbytes)
1000/// ## Metadata
1001/// | | |
1002/// |:-|:-
1003/// | Instrument: | `updowncounter` |
1004/// | Unit: | `By` |
1005/// | Status: | `Stable` |
1006///
1007/// ## Attributes
1008/// | Name | Requirement |
1009/// |:-|:- |
1010/// | [`crate::attribute::DOTNET_GC_HEAP_GENERATION`] | `Required`
1011pub const DOTNET_GC_LAST_COLLECTION_HEAP_SIZE: &str = "dotnet.gc.last_collection.heap.size";
1012
1013/// ## Description
1014///
1015/// The amount of committed virtual memory in use by the .NET GC, as observed during the latest garbage collection.
1016///
1017/// ## Notes
1018///
1019/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1020/// This metric reports the same values as calling [`GC.GetGCMemoryInfo().TotalCommittedBytes`](https://learn.microsoft.com/dotnet/api/system.gcmemoryinfo.totalcommittedbytes). Committed virtual memory may be larger than the heap size because it includes both memory for storing existing objects (the heap size) and some extra memory that is ready to handle newly allocated objects in the future
1021/// ## Metadata
1022/// | | |
1023/// |:-|:-
1024/// | Instrument: | `updowncounter` |
1025/// | Unit: | `By` |
1026/// | Status: | `Stable` |
1027pub const DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE: &str =
1028 "dotnet.gc.last_collection.memory.committed_size";
1029
1030/// ## Description
1031///
1032/// The total amount of time paused in GC since the process has started.
1033///
1034/// ## Notes
1035///
1036/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1037/// This metric reports the same values as calling [`GC.GetTotalPauseDuration()`](https://learn.microsoft.com/dotnet/api/system.gc.gettotalpauseduration)
1038/// ## Metadata
1039/// | | |
1040/// |:-|:-
1041/// | Instrument: | `counter` |
1042/// | Unit: | `s` |
1043/// | Status: | `Stable` |
1044pub const DOTNET_GC_PAUSE_TIME: &str = "dotnet.gc.pause.time";
1045
1046/// ## Description
1047///
1048/// The amount of time the JIT compiler has spent compiling methods since the process has started.
1049///
1050/// ## Notes
1051///
1052/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1053/// This metric reports the same values as calling [`JitInfo.GetCompilationTime()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompilationtime)
1054/// ## Metadata
1055/// | | |
1056/// |:-|:-
1057/// | Instrument: | `counter` |
1058/// | Unit: | `s` |
1059/// | Status: | `Stable` |
1060pub const DOTNET_JIT_COMPILATION_TIME: &str = "dotnet.jit.compilation.time";
1061
1062/// ## Description
1063///
1064/// Count of bytes of intermediate language that have been compiled since the process has started.
1065///
1066/// ## Notes
1067///
1068/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1069/// This metric reports the same values as calling [`JitInfo.GetCompiledILBytes()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompiledilbytes)
1070/// ## Metadata
1071/// | | |
1072/// |:-|:-
1073/// | Instrument: | `counter` |
1074/// | Unit: | `By` |
1075/// | Status: | `Stable` |
1076pub const DOTNET_JIT_COMPILED_IL_SIZE: &str = "dotnet.jit.compiled_il.size";
1077
1078/// ## Description
1079///
1080/// The number of times the JIT compiler (re)compiled methods since the process has started.
1081///
1082/// ## Notes
1083///
1084/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1085/// This metric reports the same values as calling [`JitInfo.GetCompiledMethodCount()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompiledmethodcount)
1086/// ## Metadata
1087/// | | |
1088/// |:-|:-
1089/// | Instrument: | `counter` |
1090/// | Unit: | `{method}` |
1091/// | Status: | `Stable` |
1092pub const DOTNET_JIT_COMPILED_METHODS: &str = "dotnet.jit.compiled_methods";
1093
1094/// ## Description
1095///
1096/// The number of times there was contention when trying to acquire a monitor lock since the process has started.
1097///
1098/// ## Notes
1099///
1100/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1101/// This metric reports the same values as calling [`Monitor.LockContentionCount`](https://learn.microsoft.com/dotnet/api/system.threading.monitor.lockcontentioncount)
1102/// ## Metadata
1103/// | | |
1104/// |:-|:-
1105/// | Instrument: | `counter` |
1106/// | Unit: | `{contention}` |
1107/// | Status: | `Stable` |
1108pub const DOTNET_MONITOR_LOCK_CONTENTIONS: &str = "dotnet.monitor.lock_contentions";
1109
1110/// ## Description
1111///
1112/// The number of processors available to the process.
1113///
1114/// ## Notes
1115///
1116/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1117/// This metric reports the same values as accessing [`Environment.ProcessorCount`](https://learn.microsoft.com/dotnet/api/system.environment.processorcount)
1118/// ## Metadata
1119/// | | |
1120/// |:-|:-
1121/// | Instrument: | `updowncounter` |
1122/// | Unit: | `{cpu}` |
1123/// | Status: | `Stable` |
1124pub const DOTNET_PROCESS_CPU_COUNT: &str = "dotnet.process.cpu.count";
1125
1126/// ## Description
1127///
1128/// CPU time used by the process.
1129///
1130/// ## Notes
1131///
1132/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1133/// This metric reports the same values as accessing the corresponding processor time properties on [`System.Diagnostics.Process`](https://learn.microsoft.com/dotnet/api/system.diagnostics.process)
1134/// ## Metadata
1135/// | | |
1136/// |:-|:-
1137/// | Instrument: | `counter` |
1138/// | Unit: | `s` |
1139/// | Status: | `Stable` |
1140///
1141/// ## Attributes
1142/// | Name | Requirement |
1143/// |:-|:- |
1144/// | [`crate::attribute::CPU_MODE`] | `Required`
1145pub const DOTNET_PROCESS_CPU_TIME: &str = "dotnet.process.cpu.time";
1146
1147/// ## Description
1148///
1149/// The number of bytes of physical memory mapped to the process context.
1150///
1151/// ## Notes
1152///
1153/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1154/// This metric reports the same values as calling [`Environment.WorkingSet`](https://learn.microsoft.com/dotnet/api/system.environment.workingset)
1155/// ## Metadata
1156/// | | |
1157/// |:-|:-
1158/// | Instrument: | `updowncounter` |
1159/// | Unit: | `By` |
1160/// | Status: | `Stable` |
1161pub const DOTNET_PROCESS_MEMORY_WORKING_SET: &str = "dotnet.process.memory.working_set";
1162
1163/// ## Description
1164///
1165/// The number of work items that are currently queued to be processed by the thread pool.
1166///
1167/// ## Notes
1168///
1169/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1170/// This metric reports the same values as calling [`ThreadPool.PendingWorkItemCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.pendingworkitemcount)
1171/// ## Metadata
1172/// | | |
1173/// |:-|:-
1174/// | Instrument: | `updowncounter` |
1175/// | Unit: | `{work_item}` |
1176/// | Status: | `Stable` |
1177pub const DOTNET_THREAD_POOL_QUEUE_LENGTH: &str = "dotnet.thread_pool.queue.length";
1178
1179/// ## Description
1180///
1181/// The number of thread pool threads that currently exist.
1182///
1183/// ## Notes
1184///
1185/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1186/// This metric reports the same values as calling [`ThreadPool.ThreadCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.threadcount)
1187/// ## Metadata
1188/// | | |
1189/// |:-|:-
1190/// | Instrument: | `updowncounter` |
1191/// | Unit: | `{thread}` |
1192/// | Status: | `Stable` |
1193pub const DOTNET_THREAD_POOL_THREAD_COUNT: &str = "dotnet.thread_pool.thread.count";
1194
1195/// ## Description
1196///
1197/// The number of work items that the thread pool has completed since the process has started.
1198///
1199/// ## Notes
1200///
1201/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1202/// This metric reports the same values as calling [`ThreadPool.CompletedWorkItemCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.completedworkitemcount)
1203/// ## Metadata
1204/// | | |
1205/// |:-|:-
1206/// | Instrument: | `counter` |
1207/// | Unit: | `{work_item}` |
1208/// | Status: | `Stable` |
1209pub const DOTNET_THREAD_POOL_WORK_ITEM_COUNT: &str = "dotnet.thread_pool.work_item.count";
1210
1211/// ## Description
1212///
1213/// The number of timer instances that are currently active.
1214///
1215/// ## Notes
1216///
1217/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1218/// This metric reports the same values as calling [`Timer.ActiveCount`](https://learn.microsoft.com/dotnet/api/system.threading.timer.activecount)
1219/// ## Metadata
1220/// | | |
1221/// |:-|:-
1222/// | Instrument: | `updowncounter` |
1223/// | Unit: | `{timer}` |
1224/// | Status: | `Stable` |
1225pub const DOTNET_TIMER_COUNT: &str = "dotnet.timer.count";
1226
1227/// ## Description
1228///
1229/// Number of invocation cold starts
1230/// ## Metadata
1231/// | | |
1232/// |:-|:-
1233/// | Instrument: | `counter` |
1234/// | Unit: | `{coldstart}` |
1235/// | Status: | `Development` |
1236///
1237/// ## Attributes
1238/// | Name | Requirement |
1239/// |:-|:- |
1240/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1241#[cfg(feature = "semconv_experimental")]
1242pub const FAAS_COLDSTARTS: &str = "faas.coldstarts";
1243
1244/// ## Description
1245///
1246/// Distribution of CPU usage per invocation
1247/// ## Metadata
1248/// | | |
1249/// |:-|:-
1250/// | Instrument: | `histogram` |
1251/// | Unit: | `s` |
1252/// | Status: | `Development` |
1253///
1254/// ## Attributes
1255/// | Name | Requirement |
1256/// |:-|:- |
1257/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1258#[cfg(feature = "semconv_experimental")]
1259pub const FAAS_CPU_USAGE: &str = "faas.cpu_usage";
1260
1261/// ## Description
1262///
1263/// Number of invocation errors
1264/// ## Metadata
1265/// | | |
1266/// |:-|:-
1267/// | Instrument: | `counter` |
1268/// | Unit: | `{error}` |
1269/// | Status: | `Development` |
1270///
1271/// ## Attributes
1272/// | Name | Requirement |
1273/// |:-|:- |
1274/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1275#[cfg(feature = "semconv_experimental")]
1276pub const FAAS_ERRORS: &str = "faas.errors";
1277
1278/// ## Description
1279///
1280/// Measures the duration of the function's initialization, such as a cold start
1281/// ## Metadata
1282/// | | |
1283/// |:-|:-
1284/// | Instrument: | `histogram` |
1285/// | Unit: | `s` |
1286/// | Status: | `Development` |
1287///
1288/// ## Attributes
1289/// | Name | Requirement |
1290/// |:-|:- |
1291/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1292#[cfg(feature = "semconv_experimental")]
1293pub const FAAS_INIT_DURATION: &str = "faas.init_duration";
1294
1295/// ## Description
1296///
1297/// Number of successful invocations
1298/// ## Metadata
1299/// | | |
1300/// |:-|:-
1301/// | Instrument: | `counter` |
1302/// | Unit: | `{invocation}` |
1303/// | Status: | `Development` |
1304///
1305/// ## Attributes
1306/// | Name | Requirement |
1307/// |:-|:- |
1308/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1309#[cfg(feature = "semconv_experimental")]
1310pub const FAAS_INVOCATIONS: &str = "faas.invocations";
1311
1312/// ## Description
1313///
1314/// Measures the duration of the function's logic execution
1315/// ## Metadata
1316/// | | |
1317/// |:-|:-
1318/// | Instrument: | `histogram` |
1319/// | Unit: | `s` |
1320/// | Status: | `Development` |
1321///
1322/// ## Attributes
1323/// | Name | Requirement |
1324/// |:-|:- |
1325/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1326#[cfg(feature = "semconv_experimental")]
1327pub const FAAS_INVOKE_DURATION: &str = "faas.invoke_duration";
1328
1329/// ## Description
1330///
1331/// Distribution of max memory usage per invocation
1332/// ## Metadata
1333/// | | |
1334/// |:-|:-
1335/// | Instrument: | `histogram` |
1336/// | Unit: | `By` |
1337/// | Status: | `Development` |
1338///
1339/// ## Attributes
1340/// | Name | Requirement |
1341/// |:-|:- |
1342/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1343#[cfg(feature = "semconv_experimental")]
1344pub const FAAS_MEM_USAGE: &str = "faas.mem_usage";
1345
1346/// ## Description
1347///
1348/// Distribution of net I/O usage per invocation
1349/// ## Metadata
1350/// | | |
1351/// |:-|:-
1352/// | Instrument: | `histogram` |
1353/// | Unit: | `By` |
1354/// | Status: | `Development` |
1355///
1356/// ## Attributes
1357/// | Name | Requirement |
1358/// |:-|:- |
1359/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1360#[cfg(feature = "semconv_experimental")]
1361pub const FAAS_NET_IO: &str = "faas.net_io";
1362
1363/// ## Description
1364///
1365/// Number of invocation timeouts
1366/// ## Metadata
1367/// | | |
1368/// |:-|:-
1369/// | Instrument: | `counter` |
1370/// | Unit: | `{timeout}` |
1371/// | Status: | `Development` |
1372///
1373/// ## Attributes
1374/// | Name | Requirement |
1375/// |:-|:- |
1376/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1377#[cfg(feature = "semconv_experimental")]
1378pub const FAAS_TIMEOUTS: &str = "faas.timeouts";
1379
1380/// ## Description
1381///
1382/// GenAI operation duration
1383/// ## Metadata
1384/// | | |
1385/// |:-|:-
1386/// | Instrument: | `histogram` |
1387/// | Unit: | `s` |
1388/// | Status: | `Development` |
1389///
1390/// ## Attributes
1391/// | Name | Requirement |
1392/// |:-|:- |
1393/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if the operation ended in an error
1394/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1395/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1396/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1397/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1398/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1399/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1400#[cfg(feature = "semconv_experimental")]
1401pub const GEN_AI_CLIENT_OPERATION_DURATION: &str = "gen_ai.client.operation.duration";
1402
1403/// ## Description
1404///
1405/// Measures number of input and output tokens used
1406/// ## Metadata
1407/// | | |
1408/// |:-|:-
1409/// | Instrument: | `histogram` |
1410/// | Unit: | `{token}` |
1411/// | Status: | `Development` |
1412///
1413/// ## Attributes
1414/// | Name | Requirement |
1415/// |:-|:- |
1416/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1417/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1418/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1419/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1420/// | [`crate::attribute::GEN_AI_TOKEN_TYPE`] | `Required`
1421/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1422/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1423#[cfg(feature = "semconv_experimental")]
1424pub const GEN_AI_CLIENT_TOKEN_USAGE: &str = "gen_ai.client.token.usage";
1425
1426/// ## Description
1427///
1428/// Generative AI server request duration such as time-to-last byte or last output token
1429/// ## Metadata
1430/// | | |
1431/// |:-|:-
1432/// | Instrument: | `histogram` |
1433/// | Unit: | `s` |
1434/// | Status: | `Development` |
1435///
1436/// ## Attributes
1437/// | Name | Requirement |
1438/// |:-|:- |
1439/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if the operation ended in an error
1440/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1441/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1442/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1443/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1444/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1445/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1446#[cfg(feature = "semconv_experimental")]
1447pub const GEN_AI_SERVER_REQUEST_DURATION: &str = "gen_ai.server.request.duration";
1448
1449/// ## Description
1450///
1451/// Time per output token generated after the first token for successful responses
1452/// ## Metadata
1453/// | | |
1454/// |:-|:-
1455/// | Instrument: | `histogram` |
1456/// | Unit: | `s` |
1457/// | Status: | `Development` |
1458///
1459/// ## Attributes
1460/// | Name | Requirement |
1461/// |:-|:- |
1462/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1463/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1464/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1465/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1466/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1467/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1468#[cfg(feature = "semconv_experimental")]
1469pub const GEN_AI_SERVER_TIME_PER_OUTPUT_TOKEN: &str = "gen_ai.server.time_per_output_token";
1470
1471/// ## Description
1472///
1473/// Time to generate first token for successful responses
1474/// ## Metadata
1475/// | | |
1476/// |:-|:-
1477/// | Instrument: | `histogram` |
1478/// | Unit: | `s` |
1479/// | Status: | `Development` |
1480///
1481/// ## Attributes
1482/// | Name | Requirement |
1483/// |:-|:- |
1484/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1485/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1486/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1487/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1488/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1489/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1490#[cfg(feature = "semconv_experimental")]
1491pub const GEN_AI_SERVER_TIME_TO_FIRST_TOKEN: &str = "gen_ai.server.time_to_first_token";
1492
1493/// ## Description
1494///
1495/// Heap size target percentage configured by the user, otherwise 100.
1496///
1497/// ## Notes
1498///
1499/// The value range is \\[0.0,100.0\\]. Computed from `/gc/gogc:percent`
1500/// ## Metadata
1501/// | | |
1502/// |:-|:-
1503/// | Instrument: | `updowncounter` |
1504/// | Unit: | `%` |
1505/// | Status: | `Development` |
1506#[cfg(feature = "semconv_experimental")]
1507pub const GO_CONFIG_GOGC: &str = "go.config.gogc";
1508
1509/// ## Description
1510///
1511/// Count of live goroutines.
1512///
1513/// ## Notes
1514///
1515/// Computed from `/sched/goroutines:goroutines`
1516/// ## Metadata
1517/// | | |
1518/// |:-|:-
1519/// | Instrument: | `updowncounter` |
1520/// | Unit: | `{goroutine}` |
1521/// | Status: | `Development` |
1522#[cfg(feature = "semconv_experimental")]
1523pub const GO_GOROUTINE_COUNT: &str = "go.goroutine.count";
1524
1525/// ## Description
1526///
1527/// Memory allocated to the heap by the application.
1528///
1529/// ## Notes
1530///
1531/// Computed from `/gc/heap/allocs:bytes`
1532/// ## Metadata
1533/// | | |
1534/// |:-|:-
1535/// | Instrument: | `counter` |
1536/// | Unit: | `By` |
1537/// | Status: | `Development` |
1538#[cfg(feature = "semconv_experimental")]
1539pub const GO_MEMORY_ALLOCATED: &str = "go.memory.allocated";
1540
1541/// ## Description
1542///
1543/// Count of allocations to the heap by the application.
1544///
1545/// ## Notes
1546///
1547/// Computed from `/gc/heap/allocs:objects`
1548/// ## Metadata
1549/// | | |
1550/// |:-|:-
1551/// | Instrument: | `counter` |
1552/// | Unit: | `{allocation}` |
1553/// | Status: | `Development` |
1554#[cfg(feature = "semconv_experimental")]
1555pub const GO_MEMORY_ALLOCATIONS: &str = "go.memory.allocations";
1556
1557/// ## Description
1558///
1559/// Heap size target for the end of the GC cycle.
1560///
1561/// ## Notes
1562///
1563/// Computed from `/gc/heap/goal:bytes`
1564/// ## Metadata
1565/// | | |
1566/// |:-|:-
1567/// | Instrument: | `updowncounter` |
1568/// | Unit: | `By` |
1569/// | Status: | `Development` |
1570#[cfg(feature = "semconv_experimental")]
1571pub const GO_MEMORY_GC_GOAL: &str = "go.memory.gc.goal";
1572
1573/// ## Description
1574///
1575/// Go runtime memory limit configured by the user, if a limit exists.
1576///
1577/// ## Notes
1578///
1579/// Computed from `/gc/gomemlimit:bytes`. This metric is excluded if the limit obtained from the Go runtime is math.MaxInt64
1580/// ## Metadata
1581/// | | |
1582/// |:-|:-
1583/// | Instrument: | `updowncounter` |
1584/// | Unit: | `By` |
1585/// | Status: | `Development` |
1586#[cfg(feature = "semconv_experimental")]
1587pub const GO_MEMORY_LIMIT: &str = "go.memory.limit";
1588
1589/// ## Description
1590///
1591/// Memory used by the Go runtime.
1592///
1593/// ## Notes
1594///
1595/// Computed from `(/memory/classes/total:bytes - /memory/classes/heap/released:bytes)`
1596/// ## Metadata
1597/// | | |
1598/// |:-|:-
1599/// | Instrument: | `updowncounter` |
1600/// | Unit: | `By` |
1601/// | Status: | `Development` |
1602///
1603/// ## Attributes
1604/// | Name | Requirement |
1605/// |:-|:- |
1606/// | [`crate::attribute::GO_MEMORY_TYPE`] | `Recommended`
1607#[cfg(feature = "semconv_experimental")]
1608pub const GO_MEMORY_USED: &str = "go.memory.used";
1609
1610/// ## Description
1611///
1612/// The number of OS threads that can execute user-level Go code simultaneously.
1613///
1614/// ## Notes
1615///
1616/// Computed from `/sched/gomaxprocs:threads`
1617/// ## Metadata
1618/// | | |
1619/// |:-|:-
1620/// | Instrument: | `updowncounter` |
1621/// | Unit: | `{thread}` |
1622/// | Status: | `Development` |
1623#[cfg(feature = "semconv_experimental")]
1624pub const GO_PROCESSOR_LIMIT: &str = "go.processor.limit";
1625
1626/// ## Description
1627///
1628/// The time goroutines have spent in the scheduler in a runnable state before actually running.
1629///
1630/// ## Notes
1631///
1632/// Computed from `/sched/latencies:seconds`. Bucket boundaries are provided by the runtime, and are subject to change
1633/// ## Metadata
1634/// | | |
1635/// |:-|:-
1636/// | Instrument: | `histogram` |
1637/// | Unit: | `s` |
1638/// | Status: | `Development` |
1639#[cfg(feature = "semconv_experimental")]
1640pub const GO_SCHEDULE_DURATION: &str = "go.schedule.duration";
1641
1642/// ## Description
1643///
1644/// Number of active HTTP requests
1645/// ## Metadata
1646/// | | |
1647/// |:-|:-
1648/// | Instrument: | `updowncounter` |
1649/// | Unit: | `{request}` |
1650/// | Status: | `Development` |
1651///
1652/// ## Attributes
1653/// | Name | Requirement |
1654/// |:-|:- |
1655/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Recommended`
1656/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1657/// | [`crate::attribute::SERVER_PORT`] | `Required`
1658/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1659/// | [`crate::attribute::URL_TEMPLATE`] | `Conditionally_required`: If available.
1660#[cfg(feature = "semconv_experimental")]
1661pub const HTTP_CLIENT_ACTIVE_REQUESTS: &str = "http.client.active_requests";
1662
1663/// ## Description
1664///
1665/// The duration of the successfully established outbound HTTP connections
1666/// ## Metadata
1667/// | | |
1668/// |:-|:-
1669/// | Instrument: | `histogram` |
1670/// | Unit: | `s` |
1671/// | Status: | `Development` |
1672///
1673/// ## Attributes
1674/// | Name | Requirement |
1675/// |:-|:- |
1676/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `Recommended`
1677/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1678/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1679/// | [`crate::attribute::SERVER_PORT`] | `Required`
1680/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1681#[cfg(feature = "semconv_experimental")]
1682pub const HTTP_CLIENT_CONNECTION_DURATION: &str = "http.client.connection.duration";
1683
1684/// ## Description
1685///
1686/// Number of outbound HTTP connections that are currently active or idle on the client
1687/// ## Metadata
1688/// | | |
1689/// |:-|:-
1690/// | Instrument: | `updowncounter` |
1691/// | Unit: | `{connection}` |
1692/// | Status: | `Development` |
1693///
1694/// ## Attributes
1695/// | Name | Requirement |
1696/// |:-|:- |
1697/// | [`crate::attribute::HTTP_CONNECTION_STATE`] | `Required`
1698/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `Recommended`
1699/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1700/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1701/// | [`crate::attribute::SERVER_PORT`] | `Required`
1702/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1703#[cfg(feature = "semconv_experimental")]
1704pub const HTTP_CLIENT_OPEN_CONNECTIONS: &str = "http.client.open_connections";
1705
1706/// ## Description
1707///
1708/// Size of HTTP client request bodies.
1709///
1710/// ## Notes
1711///
1712/// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size
1713/// ## Metadata
1714/// | | |
1715/// |:-|:-
1716/// | Instrument: | `histogram` |
1717/// | Unit: | `By` |
1718/// | Status: | `Development` |
1719///
1720/// ## Attributes
1721/// | Name | Requirement |
1722/// |:-|:- |
1723/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1724/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1725/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1726/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1727/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1728/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1729/// | [`crate::attribute::SERVER_PORT`] | `Required`
1730/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1731/// | [`crate::attribute::URL_TEMPLATE`] | `Conditionally_required`: If available.
1732#[cfg(feature = "semconv_experimental")]
1733pub const HTTP_CLIENT_REQUEST_BODY_SIZE: &str = "http.client.request.body.size";
1734
1735/// ## Description
1736///
1737/// Duration of HTTP client requests
1738/// ## Metadata
1739/// | | |
1740/// |:-|:-
1741/// | Instrument: | `histogram` |
1742/// | Unit: | `s` |
1743/// | Status: | `Stable` |
1744///
1745/// ## Attributes
1746/// | Name | Requirement |
1747/// |:-|:- |
1748/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1749/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1750/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1751/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1752/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1753/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1754/// | [`crate::attribute::SERVER_PORT`] | `Required`
1755/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1756/// | [`crate::attribute::URL_TEMPLATE`] | `Opt_in`
1757pub const HTTP_CLIENT_REQUEST_DURATION: &str = "http.client.request.duration";
1758
1759/// ## Description
1760///
1761/// Size of HTTP client response bodies.
1762///
1763/// ## Notes
1764///
1765/// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size
1766/// ## Metadata
1767/// | | |
1768/// |:-|:-
1769/// | Instrument: | `histogram` |
1770/// | Unit: | `By` |
1771/// | Status: | `Development` |
1772///
1773/// ## Attributes
1774/// | Name | Requirement |
1775/// |:-|:- |
1776/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1777/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1778/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1779/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1780/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1781/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1782/// | [`crate::attribute::SERVER_PORT`] | `Required`
1783/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1784/// | [`crate::attribute::URL_TEMPLATE`] | `Conditionally_required`: If available.
1785#[cfg(feature = "semconv_experimental")]
1786pub const HTTP_CLIENT_RESPONSE_BODY_SIZE: &str = "http.client.response.body.size";
1787
1788/// ## Description
1789///
1790/// Number of active HTTP server requests
1791/// ## Metadata
1792/// | | |
1793/// |:-|:-
1794/// | Instrument: | `updowncounter` |
1795/// | Unit: | `{request}` |
1796/// | Status: | `Development` |
1797///
1798/// ## Attributes
1799/// | Name | Requirement |
1800/// |:-|:- |
1801/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1802/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
1803/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
1804/// | [`crate::attribute::URL_SCHEME`] | `Required`
1805#[cfg(feature = "semconv_experimental")]
1806pub const HTTP_SERVER_ACTIVE_REQUESTS: &str = "http.server.active_requests";
1807
1808/// ## Description
1809///
1810/// Size of HTTP server request bodies.
1811///
1812/// ## Notes
1813///
1814/// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size
1815/// ## Metadata
1816/// | | |
1817/// |:-|:-
1818/// | Instrument: | `histogram` |
1819/// | Unit: | `By` |
1820/// | Status: | `Development` |
1821///
1822/// ## Attributes
1823/// | Name | Requirement |
1824/// |:-|:- |
1825/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1826/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1827/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1828/// | [`crate::attribute::HTTP_ROUTE`] | `Conditionally_required`: If and only if it's available
1829/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1830/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1831/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
1832/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
1833/// | [`crate::attribute::URL_SCHEME`] | `Required`
1834/// | [`crate::attribute::USER_AGENT_SYNTHETIC_TYPE`] | `Opt_in`
1835#[cfg(feature = "semconv_experimental")]
1836pub const HTTP_SERVER_REQUEST_BODY_SIZE: &str = "http.server.request.body.size";
1837
1838/// ## Description
1839///
1840/// Duration of HTTP server requests
1841/// ## Metadata
1842/// | | |
1843/// |:-|:-
1844/// | Instrument: | `histogram` |
1845/// | Unit: | `s` |
1846/// | Status: | `Stable` |
1847///
1848/// ## Attributes
1849/// | Name | Requirement |
1850/// |:-|:- |
1851/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1852/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1853/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1854/// | [`crate::attribute::HTTP_ROUTE`] | `Conditionally_required`: If and only if it's available
1855/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1856/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1857/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
1858/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
1859/// | [`crate::attribute::URL_SCHEME`] | `Required`
1860/// | [`crate::attribute::USER_AGENT_SYNTHETIC_TYPE`] | `Opt_in`
1861pub const HTTP_SERVER_REQUEST_DURATION: &str = "http.server.request.duration";
1862
1863/// ## Description
1864///
1865/// Size of HTTP server response bodies.
1866///
1867/// ## Notes
1868///
1869/// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size
1870/// ## Metadata
1871/// | | |
1872/// |:-|:-
1873/// | Instrument: | `histogram` |
1874/// | Unit: | `By` |
1875/// | Status: | `Development` |
1876///
1877/// ## Attributes
1878/// | Name | Requirement |
1879/// |:-|:- |
1880/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1881/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1882/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1883/// | [`crate::attribute::HTTP_ROUTE`] | `Conditionally_required`: If and only if it's available
1884/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1885/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1886/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
1887/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
1888/// | [`crate::attribute::URL_SCHEME`] | `Required`
1889/// | [`crate::attribute::USER_AGENT_SYNTHETIC_TYPE`] | `Opt_in`
1890#[cfg(feature = "semconv_experimental")]
1891pub const HTTP_SERVER_RESPONSE_BODY_SIZE: &str = "http.server.response.body.size";
1892
1893/// ## Description
1894///
1895/// Energy consumed by the component
1896/// ## Metadata
1897/// | | |
1898/// |:-|:-
1899/// | Instrument: | `counter` |
1900/// | Unit: | `J` |
1901/// | Status: | `Development` |
1902///
1903/// ## Attributes
1904/// | Name | Requirement |
1905/// |:-|:- |
1906/// | [`crate::attribute::HW_ID`] | `Required`
1907/// | [`crate::attribute::HW_NAME`] | `Recommended`
1908/// | [`crate::attribute::HW_PARENT`] | `Recommended`
1909/// | [`crate::attribute::HW_TYPE`] | `Required`
1910#[cfg(feature = "semconv_experimental")]
1911pub const HW_ENERGY: &str = "hw.energy";
1912
1913/// ## Description
1914///
1915/// Number of errors encountered by the component
1916/// ## Metadata
1917/// | | |
1918/// |:-|:-
1919/// | Instrument: | `counter` |
1920/// | Unit: | `{error}` |
1921/// | Status: | `Development` |
1922///
1923/// ## Attributes
1924/// | Name | Requirement |
1925/// |:-|:- |
1926/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred
1927/// | [`crate::attribute::HW_ID`] | `Required`
1928/// | [`crate::attribute::HW_NAME`] | `Recommended`
1929/// | [`crate::attribute::HW_PARENT`] | `Recommended`
1930/// | [`crate::attribute::HW_TYPE`] | `Required`
1931#[cfg(feature = "semconv_experimental")]
1932pub const HW_ERRORS: &str = "hw.errors";
1933
1934/// ## Description
1935///
1936/// Instantaneous power consumed by the component
1937///
1938/// ## Notes
1939///
1940/// It is recommended to report `hw.energy` instead of `hw.power` when possible
1941/// ## Metadata
1942/// | | |
1943/// |:-|:-
1944/// | Instrument: | `gauge` |
1945/// | Unit: | `W` |
1946/// | Status: | `Development` |
1947///
1948/// ## Attributes
1949/// | Name | Requirement |
1950/// |:-|:- |
1951/// | [`crate::attribute::HW_ID`] | `Required`
1952/// | [`crate::attribute::HW_NAME`] | `Recommended`
1953/// | [`crate::attribute::HW_PARENT`] | `Recommended`
1954/// | [`crate::attribute::HW_TYPE`] | `Required`
1955#[cfg(feature = "semconv_experimental")]
1956pub const HW_POWER: &str = "hw.power";
1957
1958/// ## Description
1959///
1960/// Operational status: `1` (true) or `0` (false) for each of the possible states
1961///
1962/// ## Notes
1963///
1964/// `hw.status` is currently specified as an *UpDownCounter* but would ideally be represented using a [*StateSet* as defined in OpenMetrics](https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#stateset). This semantic convention will be updated once *StateSet* is specified in OpenTelemetry. This planned change is not expected to have any consequence on the way users query their timeseries backend to retrieve the values of `hw.status` over time
1965/// ## Metadata
1966/// | | |
1967/// |:-|:-
1968/// | Instrument: | `updowncounter` |
1969/// | Unit: | `1` |
1970/// | Status: | `Development` |
1971///
1972/// ## Attributes
1973/// | Name | Requirement |
1974/// |:-|:- |
1975/// | [`crate::attribute::HW_ID`] | `Required`
1976/// | [`crate::attribute::HW_NAME`] | `Recommended`
1977/// | [`crate::attribute::HW_PARENT`] | `Recommended`
1978/// | [`crate::attribute::HW_STATE`] | `Required`
1979/// | [`crate::attribute::HW_TYPE`] | `Required`
1980#[cfg(feature = "semconv_experimental")]
1981pub const HW_STATUS: &str = "hw.status";
1982
1983/// ## Description
1984///
1985/// Number of buffers in the pool
1986/// ## Metadata
1987/// | | |
1988/// |:-|:-
1989/// | Instrument: | `updowncounter` |
1990/// | Unit: | `{buffer}` |
1991/// | Status: | `Development` |
1992///
1993/// ## Attributes
1994/// | Name | Requirement |
1995/// |:-|:- |
1996/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
1997#[cfg(feature = "semconv_experimental")]
1998pub const JVM_BUFFER_COUNT: &str = "jvm.buffer.count";
1999
2000/// ## Description
2001///
2002/// Measure of total memory capacity of buffers
2003/// ## Metadata
2004/// | | |
2005/// |:-|:-
2006/// | Instrument: | `updowncounter` |
2007/// | Unit: | `By` |
2008/// | Status: | `Development` |
2009///
2010/// ## Attributes
2011/// | Name | Requirement |
2012/// |:-|:- |
2013/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
2014#[cfg(feature = "semconv_experimental")]
2015pub const JVM_BUFFER_MEMORY_LIMIT: &str = "jvm.buffer.memory.limit";
2016
2017/// ## Description
2018///
2019/// Deprecated, use `jvm.buffer.memory.used` instead
2020/// ## Metadata
2021/// | | |
2022/// |:-|:-
2023/// | Instrument: | `updowncounter` |
2024/// | Unit: | `By` |
2025/// | Status: | `Development` |
2026///
2027/// ## Attributes
2028/// | Name | Requirement |
2029/// |:-|:- |
2030/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
2031#[cfg(feature = "semconv_experimental")]
2032#[deprecated(note = "Replaced by `jvm.buffer.memory.used`.")]
2033pub const JVM_BUFFER_MEMORY_USAGE: &str = "jvm.buffer.memory.usage";
2034
2035/// ## Description
2036///
2037/// Measure of memory used by buffers
2038/// ## Metadata
2039/// | | |
2040/// |:-|:-
2041/// | Instrument: | `updowncounter` |
2042/// | Unit: | `By` |
2043/// | Status: | `Development` |
2044///
2045/// ## Attributes
2046/// | Name | Requirement |
2047/// |:-|:- |
2048/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
2049#[cfg(feature = "semconv_experimental")]
2050pub const JVM_BUFFER_MEMORY_USED: &str = "jvm.buffer.memory.used";
2051
2052/// ## Description
2053///
2054/// Number of classes currently loaded
2055/// ## Metadata
2056/// | | |
2057/// |:-|:-
2058/// | Instrument: | `updowncounter` |
2059/// | Unit: | `{class}` |
2060/// | Status: | `Stable` |
2061pub const JVM_CLASS_COUNT: &str = "jvm.class.count";
2062
2063/// ## Description
2064///
2065/// Number of classes loaded since JVM start
2066/// ## Metadata
2067/// | | |
2068/// |:-|:-
2069/// | Instrument: | `counter` |
2070/// | Unit: | `{class}` |
2071/// | Status: | `Stable` |
2072pub const JVM_CLASS_LOADED: &str = "jvm.class.loaded";
2073
2074/// ## Description
2075///
2076/// Number of classes unloaded since JVM start
2077/// ## Metadata
2078/// | | |
2079/// |:-|:-
2080/// | Instrument: | `counter` |
2081/// | Unit: | `{class}` |
2082/// | Status: | `Stable` |
2083pub const JVM_CLASS_UNLOADED: &str = "jvm.class.unloaded";
2084
2085/// ## Description
2086///
2087/// Number of processors available to the Java virtual machine
2088/// ## Metadata
2089/// | | |
2090/// |:-|:-
2091/// | Instrument: | `updowncounter` |
2092/// | Unit: | `{cpu}` |
2093/// | Status: | `Stable` |
2094pub const JVM_CPU_COUNT: &str = "jvm.cpu.count";
2095
2096/// ## Description
2097///
2098/// Recent CPU utilization for the process as reported by the JVM.
2099///
2100/// ## Notes
2101///
2102/// The value range is \\[0.0,1.0\\]. This utilization is not defined as being for the specific interval since last measurement (unlike `system.cpu.utilization`). [Reference](https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getProcessCpuLoad())
2103/// ## Metadata
2104/// | | |
2105/// |:-|:-
2106/// | Instrument: | `gauge` |
2107/// | Unit: | `1` |
2108/// | Status: | `Stable` |
2109pub const JVM_CPU_RECENT_UTILIZATION: &str = "jvm.cpu.recent_utilization";
2110
2111/// ## Description
2112///
2113/// CPU time used by the process as reported by the JVM
2114/// ## Metadata
2115/// | | |
2116/// |:-|:-
2117/// | Instrument: | `counter` |
2118/// | Unit: | `s` |
2119/// | Status: | `Stable` |
2120pub const JVM_CPU_TIME: &str = "jvm.cpu.time";
2121
2122/// ## Description
2123///
2124/// Duration of JVM garbage collection actions
2125/// ## Metadata
2126/// | | |
2127/// |:-|:-
2128/// | Instrument: | `histogram` |
2129/// | Unit: | `s` |
2130/// | Status: | `Stable` |
2131///
2132/// ## Attributes
2133/// | Name | Requirement |
2134/// |:-|:- |
2135/// | [`crate::attribute::JVM_GC_ACTION`] | `Recommended`
2136/// | [`crate::attribute::JVM_GC_NAME`] | `Recommended`
2137pub const JVM_GC_DURATION: &str = "jvm.gc.duration";
2138
2139/// ## Description
2140///
2141/// Measure of memory committed
2142/// ## Metadata
2143/// | | |
2144/// |:-|:-
2145/// | Instrument: | `updowncounter` |
2146/// | Unit: | `By` |
2147/// | Status: | `Stable` |
2148///
2149/// ## Attributes
2150/// | Name | Requirement |
2151/// |:-|:- |
2152/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2153/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2154pub const JVM_MEMORY_COMMITTED: &str = "jvm.memory.committed";
2155
2156/// ## Description
2157///
2158/// Measure of initial memory requested
2159/// ## Metadata
2160/// | | |
2161/// |:-|:-
2162/// | Instrument: | `updowncounter` |
2163/// | Unit: | `By` |
2164/// | Status: | `Development` |
2165///
2166/// ## Attributes
2167/// | Name | Requirement |
2168/// |:-|:- |
2169/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2170/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2171#[cfg(feature = "semconv_experimental")]
2172pub const JVM_MEMORY_INIT: &str = "jvm.memory.init";
2173
2174/// ## Description
2175///
2176/// Measure of max obtainable memory
2177/// ## Metadata
2178/// | | |
2179/// |:-|:-
2180/// | Instrument: | `updowncounter` |
2181/// | Unit: | `By` |
2182/// | Status: | `Stable` |
2183///
2184/// ## Attributes
2185/// | Name | Requirement |
2186/// |:-|:- |
2187/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2188/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2189pub const JVM_MEMORY_LIMIT: &str = "jvm.memory.limit";
2190
2191/// ## Description
2192///
2193/// Measure of memory used
2194/// ## Metadata
2195/// | | |
2196/// |:-|:-
2197/// | Instrument: | `updowncounter` |
2198/// | Unit: | `By` |
2199/// | Status: | `Stable` |
2200///
2201/// ## Attributes
2202/// | Name | Requirement |
2203/// |:-|:- |
2204/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2205/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2206pub const JVM_MEMORY_USED: &str = "jvm.memory.used";
2207
2208/// ## Description
2209///
2210/// Measure of memory used, as measured after the most recent garbage collection event on this pool
2211/// ## Metadata
2212/// | | |
2213/// |:-|:-
2214/// | Instrument: | `updowncounter` |
2215/// | Unit: | `By` |
2216/// | Status: | `Stable` |
2217///
2218/// ## Attributes
2219/// | Name | Requirement |
2220/// |:-|:- |
2221/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2222/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2223pub const JVM_MEMORY_USED_AFTER_LAST_GC: &str = "jvm.memory.used_after_last_gc";
2224
2225/// ## Description
2226///
2227/// Average CPU load of the whole system for the last minute as reported by the JVM.
2228///
2229/// ## Notes
2230///
2231/// The value range is \\[0,n\\], where n is the number of CPU cores - or a negative number if the value is not available. This utilization is not defined as being for the specific interval since last measurement (unlike `system.cpu.utilization`). [Reference](https://docs.oracle.com/en/java/javase/17/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage())
2232/// ## Metadata
2233/// | | |
2234/// |:-|:-
2235/// | Instrument: | `gauge` |
2236/// | Unit: | `{run_queue_item}` |
2237/// | Status: | `Development` |
2238#[cfg(feature = "semconv_experimental")]
2239pub const JVM_SYSTEM_CPU_LOAD_1M: &str = "jvm.system.cpu.load_1m";
2240
2241/// ## Description
2242///
2243/// Recent CPU utilization for the whole system as reported by the JVM.
2244///
2245/// ## Notes
2246///
2247/// The value range is \\[0.0,1.0\\]. This utilization is not defined as being for the specific interval since last measurement (unlike `system.cpu.utilization`). [Reference](https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getCpuLoad())
2248/// ## Metadata
2249/// | | |
2250/// |:-|:-
2251/// | Instrument: | `gauge` |
2252/// | Unit: | `1` |
2253/// | Status: | `Development` |
2254#[cfg(feature = "semconv_experimental")]
2255pub const JVM_SYSTEM_CPU_UTILIZATION: &str = "jvm.system.cpu.utilization";
2256
2257/// ## Description
2258///
2259/// Number of executing platform threads
2260/// ## Metadata
2261/// | | |
2262/// |:-|:-
2263/// | Instrument: | `updowncounter` |
2264/// | Unit: | `{thread}` |
2265/// | Status: | `Stable` |
2266///
2267/// ## Attributes
2268/// | Name | Requirement |
2269/// |:-|:- |
2270/// | [`crate::attribute::JVM_THREAD_DAEMON`] | `Recommended`
2271/// | [`crate::attribute::JVM_THREAD_STATE`] | `Recommended`
2272pub const JVM_THREAD_COUNT: &str = "jvm.thread.count";
2273
2274/// ## Description
2275///
2276/// The number of actively running jobs for a cronjob
2277///
2278/// ## Notes
2279///
2280/// This metric aligns with the `active` field of the
2281/// [K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#cronjobstatus-v1-batch).
2282///
2283/// This metric SHOULD, at a minimum, be reported against a
2284/// [`k8s.cronjob`](../resource/k8s.md#cronjob) resource
2285/// ## Metadata
2286/// | | |
2287/// |:-|:-
2288/// | Instrument: | `updowncounter` |
2289/// | Unit: | `{job}` |
2290/// | Status: | `Development` |
2291#[cfg(feature = "semconv_experimental")]
2292pub const K8S_CRONJOB_ACTIVE_JOBS: &str = "k8s.cronjob.active_jobs";
2293
2294/// ## Description
2295///
2296/// Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod
2297///
2298/// ## Notes
2299///
2300/// This metric aligns with the `currentNumberScheduled` field of the
2301/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2302///
2303/// This metric SHOULD, at a minimum, be reported against a
2304/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2305/// ## Metadata
2306/// | | |
2307/// |:-|:-
2308/// | Instrument: | `updowncounter` |
2309/// | Unit: | `{node}` |
2310/// | Status: | `Development` |
2311#[cfg(feature = "semconv_experimental")]
2312pub const K8S_DAEMONSET_CURRENT_SCHEDULED_NODES: &str = "k8s.daemonset.current_scheduled_nodes";
2313
2314/// ## Description
2315///
2316/// Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)
2317///
2318/// ## Notes
2319///
2320/// This metric aligns with the `desiredNumberScheduled` field of the
2321/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2322///
2323/// This metric SHOULD, at a minimum, be reported against a
2324/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2325/// ## Metadata
2326/// | | |
2327/// |:-|:-
2328/// | Instrument: | `updowncounter` |
2329/// | Unit: | `{node}` |
2330/// | Status: | `Development` |
2331#[cfg(feature = "semconv_experimental")]
2332pub const K8S_DAEMONSET_DESIRED_SCHEDULED_NODES: &str = "k8s.daemonset.desired_scheduled_nodes";
2333
2334/// ## Description
2335///
2336/// Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod
2337///
2338/// ## Notes
2339///
2340/// This metric aligns with the `numberMisscheduled` field of the
2341/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2342///
2343/// This metric SHOULD, at a minimum, be reported against a
2344/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2345/// ## Metadata
2346/// | | |
2347/// |:-|:-
2348/// | Instrument: | `updowncounter` |
2349/// | Unit: | `{node}` |
2350/// | Status: | `Development` |
2351#[cfg(feature = "semconv_experimental")]
2352pub const K8S_DAEMONSET_MISSCHEDULED_NODES: &str = "k8s.daemonset.misscheduled_nodes";
2353
2354/// ## Description
2355///
2356/// Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready
2357///
2358/// ## Notes
2359///
2360/// This metric aligns with the `numberReady` field of the
2361/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2362///
2363/// This metric SHOULD, at a minimum, be reported against a
2364/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2365/// ## Metadata
2366/// | | |
2367/// |:-|:-
2368/// | Instrument: | `updowncounter` |
2369/// | Unit: | `{node}` |
2370/// | Status: | `Development` |
2371#[cfg(feature = "semconv_experimental")]
2372pub const K8S_DAEMONSET_READY_NODES: &str = "k8s.daemonset.ready_nodes";
2373
2374/// ## Description
2375///
2376/// Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment
2377///
2378/// ## Notes
2379///
2380/// This metric aligns with the `availableReplicas` field of the
2381/// [K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstatus-v1-apps).
2382///
2383/// This metric SHOULD, at a minimum, be reported against a
2384/// [`k8s.deployment`](../resource/k8s.md#deployment) resource
2385/// ## Metadata
2386/// | | |
2387/// |:-|:-
2388/// | Instrument: | `updowncounter` |
2389/// | Unit: | `{pod}` |
2390/// | Status: | `Development` |
2391#[cfg(feature = "semconv_experimental")]
2392pub const K8S_DEPLOYMENT_AVAILABLE_PODS: &str = "k8s.deployment.available_pods";
2393
2394/// ## Description
2395///
2396/// Number of desired replica pods in this deployment
2397///
2398/// ## Notes
2399///
2400/// This metric aligns with the `replicas` field of the
2401/// [K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentspec-v1-apps).
2402///
2403/// This metric SHOULD, at a minimum, be reported against a
2404/// [`k8s.deployment`](../resource/k8s.md#deployment) resource
2405/// ## Metadata
2406/// | | |
2407/// |:-|:-
2408/// | Instrument: | `updowncounter` |
2409/// | Unit: | `{pod}` |
2410/// | Status: | `Development` |
2411#[cfg(feature = "semconv_experimental")]
2412pub const K8S_DEPLOYMENT_DESIRED_PODS: &str = "k8s.deployment.desired_pods";
2413
2414/// ## Description
2415///
2416/// Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler
2417///
2418/// ## Notes
2419///
2420/// This metric aligns with the `currentReplicas` field of the
2421/// [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
2422/// ## Metadata
2423/// | | |
2424/// |:-|:-
2425/// | Instrument: | `updowncounter` |
2426/// | Unit: | `{pod}` |
2427/// | Status: | `Development` |
2428#[cfg(feature = "semconv_experimental")]
2429pub const K8S_HPA_CURRENT_PODS: &str = "k8s.hpa.current_pods";
2430
2431/// ## Description
2432///
2433/// Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler
2434///
2435/// ## Notes
2436///
2437/// This metric aligns with the `desiredReplicas` field of the
2438/// [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
2439/// ## Metadata
2440/// | | |
2441/// |:-|:-
2442/// | Instrument: | `updowncounter` |
2443/// | Unit: | `{pod}` |
2444/// | Status: | `Development` |
2445#[cfg(feature = "semconv_experimental")]
2446pub const K8S_HPA_DESIRED_PODS: &str = "k8s.hpa.desired_pods";
2447
2448/// ## Description
2449///
2450/// The upper limit for the number of replica pods to which the autoscaler can scale up
2451///
2452/// ## Notes
2453///
2454/// This metric aligns with the `maxReplicas` field of the
2455/// [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
2456/// ## Metadata
2457/// | | |
2458/// |:-|:-
2459/// | Instrument: | `updowncounter` |
2460/// | Unit: | `{pod}` |
2461/// | Status: | `Development` |
2462#[cfg(feature = "semconv_experimental")]
2463pub const K8S_HPA_MAX_PODS: &str = "k8s.hpa.max_pods";
2464
2465/// ## Description
2466///
2467/// The lower limit for the number of replica pods to which the autoscaler can scale down
2468///
2469/// ## Notes
2470///
2471/// This metric aligns with the `minReplicas` field of the
2472/// [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
2473/// ## Metadata
2474/// | | |
2475/// |:-|:-
2476/// | Instrument: | `updowncounter` |
2477/// | Unit: | `{pod}` |
2478/// | Status: | `Development` |
2479#[cfg(feature = "semconv_experimental")]
2480pub const K8S_HPA_MIN_PODS: &str = "k8s.hpa.min_pods";
2481
2482/// ## Description
2483///
2484/// The number of pending and actively running pods for a job
2485///
2486/// ## Notes
2487///
2488/// This metric aligns with the `active` field of the
2489/// [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
2490///
2491/// This metric SHOULD, at a minimum, be reported against a
2492/// [`k8s.job`](../resource/k8s.md#job) resource
2493/// ## Metadata
2494/// | | |
2495/// |:-|:-
2496/// | Instrument: | `updowncounter` |
2497/// | Unit: | `{pod}` |
2498/// | Status: | `Development` |
2499#[cfg(feature = "semconv_experimental")]
2500pub const K8S_JOB_ACTIVE_PODS: &str = "k8s.job.active_pods";
2501
2502/// ## Description
2503///
2504/// The desired number of successfully finished pods the job should be run with
2505///
2506/// ## Notes
2507///
2508/// This metric aligns with the `completions` field of the
2509/// [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).
2510///
2511/// This metric SHOULD, at a minimum, be reported against a
2512/// [`k8s.job`](../resource/k8s.md#job) resource
2513/// ## Metadata
2514/// | | |
2515/// |:-|:-
2516/// | Instrument: | `updowncounter` |
2517/// | Unit: | `{pod}` |
2518/// | Status: | `Development` |
2519#[cfg(feature = "semconv_experimental")]
2520pub const K8S_JOB_DESIRED_SUCCESSFUL_PODS: &str = "k8s.job.desired_successful_pods";
2521
2522/// ## Description
2523///
2524/// The number of pods which reached phase Failed for a job
2525///
2526/// ## Notes
2527///
2528/// This metric aligns with the `failed` field of the
2529/// [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
2530///
2531/// This metric SHOULD, at a minimum, be reported against a
2532/// [`k8s.job`](../resource/k8s.md#job) resource
2533/// ## Metadata
2534/// | | |
2535/// |:-|:-
2536/// | Instrument: | `updowncounter` |
2537/// | Unit: | `{pod}` |
2538/// | Status: | `Development` |
2539#[cfg(feature = "semconv_experimental")]
2540pub const K8S_JOB_FAILED_PODS: &str = "k8s.job.failed_pods";
2541
2542/// ## Description
2543///
2544/// The max desired number of pods the job should run at any given time
2545///
2546/// ## Notes
2547///
2548/// This metric aligns with the `parallelism` field of the
2549/// [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).
2550///
2551/// This metric SHOULD, at a minimum, be reported against a
2552/// [`k8s.job`](../resource/k8s.md#job) resource
2553/// ## Metadata
2554/// | | |
2555/// |:-|:-
2556/// | Instrument: | `updowncounter` |
2557/// | Unit: | `{pod}` |
2558/// | Status: | `Development` |
2559#[cfg(feature = "semconv_experimental")]
2560pub const K8S_JOB_MAX_PARALLEL_PODS: &str = "k8s.job.max_parallel_pods";
2561
2562/// ## Description
2563///
2564/// The number of pods which reached phase Succeeded for a job
2565///
2566/// ## Notes
2567///
2568/// This metric aligns with the `succeeded` field of the
2569/// [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
2570///
2571/// This metric SHOULD, at a minimum, be reported against a
2572/// [`k8s.job`](../resource/k8s.md#job) resource
2573/// ## Metadata
2574/// | | |
2575/// |:-|:-
2576/// | Instrument: | `updowncounter` |
2577/// | Unit: | `{pod}` |
2578/// | Status: | `Development` |
2579#[cfg(feature = "semconv_experimental")]
2580pub const K8S_JOB_SUCCESSFUL_PODS: &str = "k8s.job.successful_pods";
2581
2582/// ## Description
2583///
2584/// Describes number of K8s namespaces that are currently in a given phase.
2585///
2586/// ## Notes
2587///
2588/// This metric SHOULD, at a minimum, be reported against a
2589/// [`k8s.namespace`](../resource/k8s.md#namespace) resource
2590/// ## Metadata
2591/// | | |
2592/// |:-|:-
2593/// | Instrument: | `updowncounter` |
2594/// | Unit: | `{namespace}` |
2595/// | Status: | `Development` |
2596///
2597/// ## Attributes
2598/// | Name | Requirement |
2599/// |:-|:- |
2600/// | [`crate::attribute::K8S_NAMESPACE_PHASE`] | `Required`
2601#[cfg(feature = "semconv_experimental")]
2602pub const K8S_NAMESPACE_PHASE: &str = "k8s.namespace.phase";
2603
2604/// ## Description
2605///
2606/// Total CPU time consumed
2607///
2608/// ## Notes
2609///
2610/// Total CPU time consumed by the specific Node on all available CPU cores
2611/// ## Metadata
2612/// | | |
2613/// |:-|:-
2614/// | Instrument: | `counter` |
2615/// | Unit: | `s` |
2616/// | Status: | `Development` |
2617#[cfg(feature = "semconv_experimental")]
2618pub const K8S_NODE_CPU_TIME: &str = "k8s.node.cpu.time";
2619
2620/// ## Description
2621///
2622/// Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs
2623///
2624/// ## Notes
2625///
2626/// CPU usage of the specific Node on all available CPU cores, averaged over the sample window
2627/// ## Metadata
2628/// | | |
2629/// |:-|:-
2630/// | Instrument: | `gauge` |
2631/// | Unit: | `{cpu}` |
2632/// | Status: | `Development` |
2633#[cfg(feature = "semconv_experimental")]
2634pub const K8S_NODE_CPU_USAGE: &str = "k8s.node.cpu.usage";
2635
2636/// ## Description
2637///
2638/// Memory usage of the Node
2639///
2640/// ## Notes
2641///
2642/// Total memory usage of the Node
2643/// ## Metadata
2644/// | | |
2645/// |:-|:-
2646/// | Instrument: | `gauge` |
2647/// | Unit: | `By` |
2648/// | Status: | `Development` |
2649#[cfg(feature = "semconv_experimental")]
2650pub const K8S_NODE_MEMORY_USAGE: &str = "k8s.node.memory.usage";
2651
2652/// ## Description
2653///
2654/// Node network errors
2655/// ## Metadata
2656/// | | |
2657/// |:-|:-
2658/// | Instrument: | `counter` |
2659/// | Unit: | `{error}` |
2660/// | Status: | `Development` |
2661///
2662/// ## Attributes
2663/// | Name | Requirement |
2664/// |:-|:- |
2665/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
2666/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
2667#[cfg(feature = "semconv_experimental")]
2668pub const K8S_NODE_NETWORK_ERRORS: &str = "k8s.node.network.errors";
2669
2670/// ## Description
2671///
2672/// Network bytes for the Node
2673/// ## Metadata
2674/// | | |
2675/// |:-|:-
2676/// | Instrument: | `counter` |
2677/// | Unit: | `By` |
2678/// | Status: | `Development` |
2679///
2680/// ## Attributes
2681/// | Name | Requirement |
2682/// |:-|:- |
2683/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
2684/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
2685#[cfg(feature = "semconv_experimental")]
2686pub const K8S_NODE_NETWORK_IO: &str = "k8s.node.network.io";
2687
2688/// ## Description
2689///
2690/// The time the Node has been running
2691///
2692/// ## Notes
2693///
2694/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
2695/// The actual accuracy would depend on the instrumentation and operating system
2696/// ## Metadata
2697/// | | |
2698/// |:-|:-
2699/// | Instrument: | `gauge` |
2700/// | Unit: | `s` |
2701/// | Status: | `Development` |
2702#[cfg(feature = "semconv_experimental")]
2703pub const K8S_NODE_UPTIME: &str = "k8s.node.uptime";
2704
2705/// ## Description
2706///
2707/// Total CPU time consumed
2708///
2709/// ## Notes
2710///
2711/// Total CPU time consumed by the specific Pod on all available CPU cores
2712/// ## Metadata
2713/// | | |
2714/// |:-|:-
2715/// | Instrument: | `counter` |
2716/// | Unit: | `s` |
2717/// | Status: | `Development` |
2718#[cfg(feature = "semconv_experimental")]
2719pub const K8S_POD_CPU_TIME: &str = "k8s.pod.cpu.time";
2720
2721/// ## Description
2722///
2723/// Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs
2724///
2725/// ## Notes
2726///
2727/// CPU usage of the specific Pod on all available CPU cores, averaged over the sample window
2728/// ## Metadata
2729/// | | |
2730/// |:-|:-
2731/// | Instrument: | `gauge` |
2732/// | Unit: | `{cpu}` |
2733/// | Status: | `Development` |
2734#[cfg(feature = "semconv_experimental")]
2735pub const K8S_POD_CPU_USAGE: &str = "k8s.pod.cpu.usage";
2736
2737/// ## Description
2738///
2739/// Memory usage of the Pod
2740///
2741/// ## Notes
2742///
2743/// Total memory usage of the Pod
2744/// ## Metadata
2745/// | | |
2746/// |:-|:-
2747/// | Instrument: | `gauge` |
2748/// | Unit: | `By` |
2749/// | Status: | `Development` |
2750#[cfg(feature = "semconv_experimental")]
2751pub const K8S_POD_MEMORY_USAGE: &str = "k8s.pod.memory.usage";
2752
2753/// ## Description
2754///
2755/// Pod network errors
2756/// ## Metadata
2757/// | | |
2758/// |:-|:-
2759/// | Instrument: | `counter` |
2760/// | Unit: | `{error}` |
2761/// | Status: | `Development` |
2762///
2763/// ## Attributes
2764/// | Name | Requirement |
2765/// |:-|:- |
2766/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
2767/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
2768#[cfg(feature = "semconv_experimental")]
2769pub const K8S_POD_NETWORK_ERRORS: &str = "k8s.pod.network.errors";
2770
2771/// ## Description
2772///
2773/// Network bytes for the Pod
2774/// ## Metadata
2775/// | | |
2776/// |:-|:-
2777/// | Instrument: | `counter` |
2778/// | Unit: | `By` |
2779/// | Status: | `Development` |
2780///
2781/// ## Attributes
2782/// | Name | Requirement |
2783/// |:-|:- |
2784/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
2785/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
2786#[cfg(feature = "semconv_experimental")]
2787pub const K8S_POD_NETWORK_IO: &str = "k8s.pod.network.io";
2788
2789/// ## Description
2790///
2791/// The time the Pod has been running
2792///
2793/// ## Notes
2794///
2795/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
2796/// The actual accuracy would depend on the instrumentation and operating system
2797/// ## Metadata
2798/// | | |
2799/// |:-|:-
2800/// | Instrument: | `gauge` |
2801/// | Unit: | `s` |
2802/// | Status: | `Development` |
2803#[cfg(feature = "semconv_experimental")]
2804pub const K8S_POD_UPTIME: &str = "k8s.pod.uptime";
2805
2806/// ## Description
2807///
2808/// Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset
2809///
2810/// ## Notes
2811///
2812/// This metric aligns with the `availableReplicas` field of the
2813/// [K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetstatus-v1-apps).
2814///
2815/// This metric SHOULD, at a minimum, be reported against a
2816/// [`k8s.replicaset`](../resource/k8s.md#replicaset) resource
2817/// ## Metadata
2818/// | | |
2819/// |:-|:-
2820/// | Instrument: | `updowncounter` |
2821/// | Unit: | `{pod}` |
2822/// | Status: | `Development` |
2823#[cfg(feature = "semconv_experimental")]
2824pub const K8S_REPLICASET_AVAILABLE_PODS: &str = "k8s.replicaset.available_pods";
2825
2826/// ## Description
2827///
2828/// Number of desired replica pods in this replicaset
2829///
2830/// ## Notes
2831///
2832/// This metric aligns with the `replicas` field of the
2833/// [K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetspec-v1-apps).
2834///
2835/// This metric SHOULD, at a minimum, be reported against a
2836/// [`k8s.replicaset`](../resource/k8s.md#replicaset) resource
2837/// ## Metadata
2838/// | | |
2839/// |:-|:-
2840/// | Instrument: | `updowncounter` |
2841/// | Unit: | `{pod}` |
2842/// | Status: | `Development` |
2843#[cfg(feature = "semconv_experimental")]
2844pub const K8S_REPLICASET_DESIRED_PODS: &str = "k8s.replicaset.desired_pods";
2845
2846/// ## Description
2847///
2848/// Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller
2849///
2850/// ## Notes
2851///
2852/// This metric aligns with the `availableReplicas` field of the
2853/// [K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core)
2854/// ## Metadata
2855/// | | |
2856/// |:-|:-
2857/// | Instrument: | `updowncounter` |
2858/// | Unit: | `{pod}` |
2859/// | Status: | `Development` |
2860#[cfg(feature = "semconv_experimental")]
2861pub const K8S_REPLICATION_CONTROLLER_AVAILABLE_PODS: &str =
2862 "k8s.replication_controller.available_pods";
2863
2864/// ## Description
2865///
2866/// Number of desired replica pods in this replication controller
2867///
2868/// ## Notes
2869///
2870/// This metric aligns with the `replicas` field of the
2871/// [K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core)
2872/// ## Metadata
2873/// | | |
2874/// |:-|:-
2875/// | Instrument: | `updowncounter` |
2876/// | Unit: | `{pod}` |
2877/// | Status: | `Development` |
2878#[cfg(feature = "semconv_experimental")]
2879pub const K8S_REPLICATION_CONTROLLER_DESIRED_PODS: &str = "k8s.replication_controller.desired_pods";
2880
2881/// ## Description
2882///
2883/// The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision
2884///
2885/// ## Notes
2886///
2887/// This metric aligns with the `currentReplicas` field of the
2888/// [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
2889///
2890/// This metric SHOULD, at a minimum, be reported against a
2891/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
2892/// ## Metadata
2893/// | | |
2894/// |:-|:-
2895/// | Instrument: | `updowncounter` |
2896/// | Unit: | `{pod}` |
2897/// | Status: | `Development` |
2898#[cfg(feature = "semconv_experimental")]
2899pub const K8S_STATEFULSET_CURRENT_PODS: &str = "k8s.statefulset.current_pods";
2900
2901/// ## Description
2902///
2903/// Number of desired replica pods in this statefulset
2904///
2905/// ## Notes
2906///
2907/// This metric aligns with the `replicas` field of the
2908/// [K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetspec-v1-apps).
2909///
2910/// This metric SHOULD, at a minimum, be reported against a
2911/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
2912/// ## Metadata
2913/// | | |
2914/// |:-|:-
2915/// | Instrument: | `updowncounter` |
2916/// | Unit: | `{pod}` |
2917/// | Status: | `Development` |
2918#[cfg(feature = "semconv_experimental")]
2919pub const K8S_STATEFULSET_DESIRED_PODS: &str = "k8s.statefulset.desired_pods";
2920
2921/// ## Description
2922///
2923/// The number of replica pods created for this statefulset with a Ready Condition
2924///
2925/// ## Notes
2926///
2927/// This metric aligns with the `readyReplicas` field of the
2928/// [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
2929///
2930/// This metric SHOULD, at a minimum, be reported against a
2931/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
2932/// ## Metadata
2933/// | | |
2934/// |:-|:-
2935/// | Instrument: | `updowncounter` |
2936/// | Unit: | `{pod}` |
2937/// | Status: | `Development` |
2938#[cfg(feature = "semconv_experimental")]
2939pub const K8S_STATEFULSET_READY_PODS: &str = "k8s.statefulset.ready_pods";
2940
2941/// ## Description
2942///
2943/// Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision
2944///
2945/// ## Notes
2946///
2947/// This metric aligns with the `updatedReplicas` field of the
2948/// [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
2949///
2950/// This metric SHOULD, at a minimum, be reported against a
2951/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
2952/// ## Metadata
2953/// | | |
2954/// |:-|:-
2955/// | Instrument: | `updowncounter` |
2956/// | Unit: | `{pod}` |
2957/// | Status: | `Development` |
2958#[cfg(feature = "semconv_experimental")]
2959pub const K8S_STATEFULSET_UPDATED_PODS: &str = "k8s.statefulset.updated_pods";
2960
2961/// ## Description
2962///
2963/// Number of connections that are currently active on the server.
2964///
2965/// ## Notes
2966///
2967/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
2968/// ## Metadata
2969/// | | |
2970/// |:-|:-
2971/// | Instrument: | `updowncounter` |
2972/// | Unit: | `{connection}` |
2973/// | Status: | `Stable` |
2974///
2975/// ## Attributes
2976/// | Name | Requirement |
2977/// |:-|:- |
2978/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
2979/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
2980/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
2981/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
2982pub const KESTREL_ACTIVE_CONNECTIONS: &str = "kestrel.active_connections";
2983
2984/// ## Description
2985///
2986/// Number of TLS handshakes that are currently in progress on the server.
2987///
2988/// ## Notes
2989///
2990/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
2991/// ## Metadata
2992/// | | |
2993/// |:-|:-
2994/// | Instrument: | `updowncounter` |
2995/// | Unit: | `{handshake}` |
2996/// | Status: | `Stable` |
2997///
2998/// ## Attributes
2999/// | Name | Requirement |
3000/// |:-|:- |
3001/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3002/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3003/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3004/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3005pub const KESTREL_ACTIVE_TLS_HANDSHAKES: &str = "kestrel.active_tls_handshakes";
3006
3007/// ## Description
3008///
3009/// The duration of connections on the server.
3010///
3011/// ## Notes
3012///
3013/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3014/// ## Metadata
3015/// | | |
3016/// |:-|:-
3017/// | Instrument: | `histogram` |
3018/// | Unit: | `s` |
3019/// | Status: | `Stable` |
3020///
3021/// ## Attributes
3022/// | Name | Requirement |
3023/// |:-|:- |
3024/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred.
3025/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Recommended`
3026/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
3027/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3028/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3029/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3030/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3031/// | [`crate::attribute::TLS_PROTOCOL_VERSION`] | `Recommended`
3032pub const KESTREL_CONNECTION_DURATION: &str = "kestrel.connection.duration";
3033
3034/// ## Description
3035///
3036/// Number of connections that are currently queued and are waiting to start.
3037///
3038/// ## Notes
3039///
3040/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3041/// ## Metadata
3042/// | | |
3043/// |:-|:-
3044/// | Instrument: | `updowncounter` |
3045/// | Unit: | `{connection}` |
3046/// | Status: | `Stable` |
3047///
3048/// ## Attributes
3049/// | Name | Requirement |
3050/// |:-|:- |
3051/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3052/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3053/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3054/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3055pub const KESTREL_QUEUED_CONNECTIONS: &str = "kestrel.queued_connections";
3056
3057/// ## Description
3058///
3059/// Number of HTTP requests on multiplexed connections (HTTP/2 and HTTP/3) that are currently queued and are waiting to start.
3060///
3061/// ## Notes
3062///
3063/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3064/// ## Metadata
3065/// | | |
3066/// |:-|:-
3067/// | Instrument: | `updowncounter` |
3068/// | Unit: | `{request}` |
3069/// | Status: | `Stable` |
3070///
3071/// ## Attributes
3072/// | Name | Requirement |
3073/// |:-|:- |
3074/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Recommended`
3075/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
3076/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3077/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3078/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3079/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3080pub const KESTREL_QUEUED_REQUESTS: &str = "kestrel.queued_requests";
3081
3082/// ## Description
3083///
3084/// Number of connections rejected by the server.
3085///
3086/// ## Notes
3087///
3088/// Connections are rejected when the currently active count exceeds the value configured with `MaxConcurrentConnections`.
3089/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3090/// ## Metadata
3091/// | | |
3092/// |:-|:-
3093/// | Instrument: | `counter` |
3094/// | Unit: | `{connection}` |
3095/// | Status: | `Stable` |
3096///
3097/// ## Attributes
3098/// | Name | Requirement |
3099/// |:-|:- |
3100/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3101/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3102/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3103/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3104pub const KESTREL_REJECTED_CONNECTIONS: &str = "kestrel.rejected_connections";
3105
3106/// ## Description
3107///
3108/// The duration of TLS handshakes on the server.
3109///
3110/// ## Notes
3111///
3112/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3113/// ## Metadata
3114/// | | |
3115/// |:-|:-
3116/// | Instrument: | `histogram` |
3117/// | Unit: | `s` |
3118/// | Status: | `Stable` |
3119///
3120/// ## Attributes
3121/// | Name | Requirement |
3122/// |:-|:- |
3123/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred.
3124/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3125/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3126/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3127/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3128/// | [`crate::attribute::TLS_PROTOCOL_VERSION`] | `Recommended`
3129pub const KESTREL_TLS_HANDSHAKE_DURATION: &str = "kestrel.tls_handshake.duration";
3130
3131/// ## Description
3132///
3133/// Number of connections that are currently upgraded (WebSockets). .
3134///
3135/// ## Notes
3136///
3137/// The counter only tracks HTTP/1.1 connections.
3138///
3139/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3140/// ## Metadata
3141/// | | |
3142/// |:-|:-
3143/// | Instrument: | `updowncounter` |
3144/// | Unit: | `{connection}` |
3145/// | Status: | `Stable` |
3146///
3147/// ## Attributes
3148/// | Name | Requirement |
3149/// |:-|:- |
3150/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3151/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3152/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3153/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3154pub const KESTREL_UPGRADED_CONNECTIONS: &str = "kestrel.upgraded_connections";
3155
3156/// ## Description
3157///
3158/// Number of messages that were delivered to the application.
3159///
3160/// ## Notes
3161///
3162/// Records the number of messages pulled from the broker or number of messages dispatched to the application in push-based scenarios.
3163/// The metric SHOULD be reported once per message delivery. For example, if receiving and processing operations are both instrumented for a single message delivery, this counter is incremented when the message is received and not reported when it is processed
3164/// ## Metadata
3165/// | | |
3166/// |:-|:-
3167/// | Instrument: | `counter` |
3168/// | Unit: | `{message}` |
3169/// | Status: | `Development` |
3170///
3171/// ## Attributes
3172/// | Name | Requirement |
3173/// |:-|:- |
3174/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3175/// | [`crate::attribute::MESSAGING_CONSUMER_GROUP_NAME`] | `Conditionally_required`: if applicable.
3176/// | [`crate::attribute::MESSAGING_DESTINATION_NAME`] | `Conditionally_required`: if and only if `messaging.destination.name` is known to have low cardinality. Otherwise, `messaging.destination.template` MAY be populated.
3177/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3178/// | [`crate::attribute::MESSAGING_DESTINATION_SUBSCRIPTION_NAME`] | `Conditionally_required`: if applicable.
3179/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3180/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3181/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3182/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3183/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3184#[cfg(feature = "semconv_experimental")]
3185pub const MESSAGING_CLIENT_CONSUMED_MESSAGES: &str = "messaging.client.consumed.messages";
3186
3187/// ## Description
3188///
3189/// Duration of messaging operation initiated by a producer or consumer client.
3190///
3191/// ## Notes
3192///
3193/// This metric SHOULD NOT be used to report processing duration - processing duration is reported in `messaging.process.duration` metric
3194/// ## Metadata
3195/// | | |
3196/// |:-|:-
3197/// | Instrument: | `histogram` |
3198/// | Unit: | `s` |
3199/// | Status: | `Development` |
3200///
3201/// ## Attributes
3202/// | Name | Requirement |
3203/// |:-|:- |
3204/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3205/// | [`crate::attribute::MESSAGING_CONSUMER_GROUP_NAME`] | `Conditionally_required`: if applicable.
3206/// | [`crate::attribute::MESSAGING_DESTINATION_NAME`] | `Conditionally_required`: if and only if `messaging.destination.name` is known to have low cardinality. Otherwise, `messaging.destination.template` MAY be populated.
3207/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3208/// | [`crate::attribute::MESSAGING_DESTINATION_SUBSCRIPTION_NAME`] | `Conditionally_required`: if applicable.
3209/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3210/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3211/// | [`crate::attribute::MESSAGING_OPERATION_TYPE`] | `Conditionally_required`: If applicable.
3212/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3213/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3214/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3215#[cfg(feature = "semconv_experimental")]
3216pub const MESSAGING_CLIENT_OPERATION_DURATION: &str = "messaging.client.operation.duration";
3217
3218/// ## Description
3219///
3220/// Deprecated. Use `messaging.client.sent.messages` instead
3221/// ## Metadata
3222/// | | |
3223/// |:-|:-
3224/// | Instrument: | `counter` |
3225/// | Unit: | `{message}` |
3226/// | Status: | `Development` |
3227///
3228/// ## Attributes
3229/// | Name | Requirement |
3230/// |:-|:- |
3231/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3232/// | [`crate::attribute::MESSAGING_DESTINATION_NAME`] | `Conditionally_required`: if and only if `messaging.destination.name` is known to have low cardinality. Otherwise, `messaging.destination.template` MAY be populated.
3233/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3234/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3235/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3236/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3237/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3238/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3239#[cfg(feature = "semconv_experimental")]
3240#[deprecated(note = "Replaced by `messaging.client.sent.messages`.")]
3241pub const MESSAGING_CLIENT_PUBLISHED_MESSAGES: &str = "messaging.client.published.messages";
3242
3243/// ## Description
3244///
3245/// Number of messages producer attempted to send to the broker.
3246///
3247/// ## Notes
3248///
3249/// This metric MUST NOT count messages that were created but haven't yet been sent
3250/// ## Metadata
3251/// | | |
3252/// |:-|:-
3253/// | Instrument: | `counter` |
3254/// | Unit: | `{message}` |
3255/// | Status: | `Development` |
3256///
3257/// ## Attributes
3258/// | Name | Requirement |
3259/// |:-|:- |
3260/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3261/// | [`crate::attribute::MESSAGING_DESTINATION_NAME`] | `Conditionally_required`: if and only if `messaging.destination.name` is known to have low cardinality. Otherwise, `messaging.destination.template` MAY be populated.
3262/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3263/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3264/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3265/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3266/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3267/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3268#[cfg(feature = "semconv_experimental")]
3269pub const MESSAGING_CLIENT_SENT_MESSAGES: &str = "messaging.client.sent.messages";
3270
3271/// ## Description
3272///
3273/// Duration of processing operation.
3274///
3275/// ## Notes
3276///
3277/// This metric MUST be reported for operations with `messaging.operation.type` that matches `process`
3278/// ## Metadata
3279/// | | |
3280/// |:-|:-
3281/// | Instrument: | `histogram` |
3282/// | Unit: | `s` |
3283/// | Status: | `Development` |
3284///
3285/// ## Attributes
3286/// | Name | Requirement |
3287/// |:-|:- |
3288/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3289/// | [`crate::attribute::MESSAGING_CONSUMER_GROUP_NAME`] | `Conditionally_required`: if applicable.
3290/// | [`crate::attribute::MESSAGING_DESTINATION_NAME`] | `Conditionally_required`: if and only if `messaging.destination.name` is known to have low cardinality. Otherwise, `messaging.destination.template` MAY be populated.
3291/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3292/// | [`crate::attribute::MESSAGING_DESTINATION_SUBSCRIPTION_NAME`] | `Conditionally_required`: if applicable.
3293/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3294/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3295/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3296/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3297/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3298#[cfg(feature = "semconv_experimental")]
3299pub const MESSAGING_PROCESS_DURATION: &str = "messaging.process.duration";
3300
3301/// ## Description
3302///
3303/// Deprecated. Use `messaging.client.consumed.messages` instead
3304/// ## Metadata
3305/// | | |
3306/// |:-|:-
3307/// | Instrument: | `counter` |
3308/// | Unit: | `{message}` |
3309/// | Status: | `Development` |
3310///
3311/// ## Attributes
3312/// | Name | Requirement |
3313/// |:-|:- |
3314/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3315/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3316/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3317/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3318#[cfg(feature = "semconv_experimental")]
3319#[deprecated(note = "Replaced by `messaging.client.consumed.messages`.")]
3320pub const MESSAGING_PROCESS_MESSAGES: &str = "messaging.process.messages";
3321
3322/// ## Description
3323///
3324/// Deprecated. Use `messaging.client.operation.duration` instead
3325/// ## Metadata
3326/// | | |
3327/// |:-|:-
3328/// | Instrument: | `histogram` |
3329/// | Unit: | `s` |
3330/// | Status: | `Development` |
3331///
3332/// ## Attributes
3333/// | Name | Requirement |
3334/// |:-|:- |
3335/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3336/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3337/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3338/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3339#[cfg(feature = "semconv_experimental")]
3340#[deprecated(note = "Replaced by `messaging.client.operation.duration`.")]
3341pub const MESSAGING_PUBLISH_DURATION: &str = "messaging.publish.duration";
3342
3343/// ## Description
3344///
3345/// Deprecated. Use `messaging.client.produced.messages` instead
3346/// ## Metadata
3347/// | | |
3348/// |:-|:-
3349/// | Instrument: | `counter` |
3350/// | Unit: | `{message}` |
3351/// | Status: | `Development` |
3352///
3353/// ## Attributes
3354/// | Name | Requirement |
3355/// |:-|:- |
3356/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3357/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3358/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3359/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3360#[cfg(feature = "semconv_experimental")]
3361#[deprecated(note = "Replaced by `messaging.client.produced.messages`.")]
3362pub const MESSAGING_PUBLISH_MESSAGES: &str = "messaging.publish.messages";
3363
3364/// ## Description
3365///
3366/// Deprecated. Use `messaging.client.operation.duration` instead
3367/// ## Metadata
3368/// | | |
3369/// |:-|:-
3370/// | Instrument: | `histogram` |
3371/// | Unit: | `s` |
3372/// | Status: | `Development` |
3373///
3374/// ## Attributes
3375/// | Name | Requirement |
3376/// |:-|:- |
3377/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3378/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3379/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3380/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3381#[cfg(feature = "semconv_experimental")]
3382#[deprecated(note = "Replaced by `messaging.client.operation.duration`.")]
3383pub const MESSAGING_RECEIVE_DURATION: &str = "messaging.receive.duration";
3384
3385/// ## Description
3386///
3387/// Deprecated. Use `messaging.client.consumed.messages` instead
3388/// ## Metadata
3389/// | | |
3390/// |:-|:-
3391/// | Instrument: | `counter` |
3392/// | Unit: | `{message}` |
3393/// | Status: | `Development` |
3394///
3395/// ## Attributes
3396/// | Name | Requirement |
3397/// |:-|:- |
3398/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3399/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3400/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3401/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3402#[cfg(feature = "semconv_experimental")]
3403#[deprecated(note = "Replaced by `messaging.client.consumed.messages`.")]
3404pub const MESSAGING_RECEIVE_MESSAGES: &str = "messaging.receive.messages";
3405
3406/// ## Description
3407///
3408/// Event loop maximum delay.
3409///
3410/// ## Notes
3411///
3412/// Value can be retrieved from value `histogram.max` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3413/// ## Metadata
3414/// | | |
3415/// |:-|:-
3416/// | Instrument: | `gauge` |
3417/// | Unit: | `s` |
3418/// | Status: | `Development` |
3419#[cfg(feature = "semconv_experimental")]
3420pub const NODEJS_EVENTLOOP_DELAY_MAX: &str = "nodejs.eventloop.delay.max";
3421
3422/// ## Description
3423///
3424/// Event loop mean delay.
3425///
3426/// ## Notes
3427///
3428/// Value can be retrieved from value `histogram.mean` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3429/// ## Metadata
3430/// | | |
3431/// |:-|:-
3432/// | Instrument: | `gauge` |
3433/// | Unit: | `s` |
3434/// | Status: | `Development` |
3435#[cfg(feature = "semconv_experimental")]
3436pub const NODEJS_EVENTLOOP_DELAY_MEAN: &str = "nodejs.eventloop.delay.mean";
3437
3438/// ## Description
3439///
3440/// Event loop minimum delay.
3441///
3442/// ## Notes
3443///
3444/// Value can be retrieved from value `histogram.min` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3445/// ## Metadata
3446/// | | |
3447/// |:-|:-
3448/// | Instrument: | `gauge` |
3449/// | Unit: | `s` |
3450/// | Status: | `Development` |
3451#[cfg(feature = "semconv_experimental")]
3452pub const NODEJS_EVENTLOOP_DELAY_MIN: &str = "nodejs.eventloop.delay.min";
3453
3454/// ## Description
3455///
3456/// Event loop 50 percentile delay.
3457///
3458/// ## Notes
3459///
3460/// Value can be retrieved from value `histogram.percentile(50)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3461/// ## Metadata
3462/// | | |
3463/// |:-|:-
3464/// | Instrument: | `gauge` |
3465/// | Unit: | `s` |
3466/// | Status: | `Development` |
3467#[cfg(feature = "semconv_experimental")]
3468pub const NODEJS_EVENTLOOP_DELAY_P50: &str = "nodejs.eventloop.delay.p50";
3469
3470/// ## Description
3471///
3472/// Event loop 90 percentile delay.
3473///
3474/// ## Notes
3475///
3476/// Value can be retrieved from value `histogram.percentile(90)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3477/// ## Metadata
3478/// | | |
3479/// |:-|:-
3480/// | Instrument: | `gauge` |
3481/// | Unit: | `s` |
3482/// | Status: | `Development` |
3483#[cfg(feature = "semconv_experimental")]
3484pub const NODEJS_EVENTLOOP_DELAY_P90: &str = "nodejs.eventloop.delay.p90";
3485
3486/// ## Description
3487///
3488/// Event loop 99 percentile delay.
3489///
3490/// ## Notes
3491///
3492/// Value can be retrieved from value `histogram.percentile(99)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3493/// ## Metadata
3494/// | | |
3495/// |:-|:-
3496/// | Instrument: | `gauge` |
3497/// | Unit: | `s` |
3498/// | Status: | `Development` |
3499#[cfg(feature = "semconv_experimental")]
3500pub const NODEJS_EVENTLOOP_DELAY_P99: &str = "nodejs.eventloop.delay.p99";
3501
3502/// ## Description
3503///
3504/// Event loop standard deviation delay.
3505///
3506/// ## Notes
3507///
3508/// Value can be retrieved from value `histogram.stddev` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3509/// ## Metadata
3510/// | | |
3511/// |:-|:-
3512/// | Instrument: | `gauge` |
3513/// | Unit: | `s` |
3514/// | Status: | `Development` |
3515#[cfg(feature = "semconv_experimental")]
3516pub const NODEJS_EVENTLOOP_DELAY_STDDEV: &str = "nodejs.eventloop.delay.stddev";
3517
3518/// ## Description
3519///
3520/// Cumulative duration of time the event loop has been in each state.
3521///
3522/// ## Notes
3523///
3524/// Value can be retrieved from [`performance.eventLoopUtilization([utilization1[, utilization2]])`](https://nodejs.org/api/perf_hooks.html#performanceeventlooputilizationutilization1-utilization2)
3525/// ## Metadata
3526/// | | |
3527/// |:-|:-
3528/// | Instrument: | `counter` |
3529/// | Unit: | `s` |
3530/// | Status: | `Development` |
3531///
3532/// ## Attributes
3533/// | Name | Requirement |
3534/// |:-|:- |
3535/// | [`crate::attribute::NODEJS_EVENTLOOP_STATE`] | `Required`
3536#[cfg(feature = "semconv_experimental")]
3537pub const NODEJS_EVENTLOOP_TIME: &str = "nodejs.eventloop.time";
3538
3539/// ## Description
3540///
3541/// Event loop utilization.
3542///
3543/// ## Notes
3544///
3545/// The value range is \[0.0, 1.0\] and can be retrieved from [`performance.eventLoopUtilization([utilization1[, utilization2]])`](https://nodejs.org/api/perf_hooks.html#performanceeventlooputilizationutilization1-utilization2)
3546/// ## Metadata
3547/// | | |
3548/// |:-|:-
3549/// | Instrument: | `gauge` |
3550/// | Unit: | `1` |
3551/// | Status: | `Development` |
3552#[cfg(feature = "semconv_experimental")]
3553pub const NODEJS_EVENTLOOP_UTILIZATION: &str = "nodejs.eventloop.utilization";
3554
3555/// ## Description
3556///
3557/// Number of times the process has been context switched
3558/// ## Metadata
3559/// | | |
3560/// |:-|:-
3561/// | Instrument: | `counter` |
3562/// | Unit: | `{count}` |
3563/// | Status: | `Development` |
3564///
3565/// ## Attributes
3566/// | Name | Requirement |
3567/// |:-|:- |
3568/// | [`crate::attribute::PROCESS_CONTEXT_SWITCH_TYPE`] | `Recommended`
3569#[cfg(feature = "semconv_experimental")]
3570pub const PROCESS_CONTEXT_SWITCHES: &str = "process.context_switches";
3571
3572/// ## Description
3573///
3574/// Total CPU seconds broken down by different states
3575/// ## Metadata
3576/// | | |
3577/// |:-|:-
3578/// | Instrument: | `counter` |
3579/// | Unit: | `s` |
3580/// | Status: | `Development` |
3581///
3582/// ## Attributes
3583/// | Name | Requirement |
3584/// |:-|:- |
3585/// | [`crate::attribute::CPU_MODE`] | `Recommended`
3586#[cfg(feature = "semconv_experimental")]
3587pub const PROCESS_CPU_TIME: &str = "process.cpu.time";
3588
3589/// ## Description
3590///
3591/// Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process
3592/// ## Metadata
3593/// | | |
3594/// |:-|:-
3595/// | Instrument: | `gauge` |
3596/// | Unit: | `1` |
3597/// | Status: | `Development` |
3598///
3599/// ## Attributes
3600/// | Name | Requirement |
3601/// |:-|:- |
3602/// | [`crate::attribute::CPU_MODE`] | `Recommended`
3603#[cfg(feature = "semconv_experimental")]
3604pub const PROCESS_CPU_UTILIZATION: &str = "process.cpu.utilization";
3605
3606/// ## Description
3607///
3608/// Disk bytes transferred
3609/// ## Metadata
3610/// | | |
3611/// |:-|:-
3612/// | Instrument: | `counter` |
3613/// | Unit: | `By` |
3614/// | Status: | `Development` |
3615///
3616/// ## Attributes
3617/// | Name | Requirement |
3618/// |:-|:- |
3619/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
3620#[cfg(feature = "semconv_experimental")]
3621pub const PROCESS_DISK_IO: &str = "process.disk.io";
3622
3623/// ## Description
3624///
3625/// The amount of physical memory in use
3626/// ## Metadata
3627/// | | |
3628/// |:-|:-
3629/// | Instrument: | `updowncounter` |
3630/// | Unit: | `By` |
3631/// | Status: | `Development` |
3632#[cfg(feature = "semconv_experimental")]
3633pub const PROCESS_MEMORY_USAGE: &str = "process.memory.usage";
3634
3635/// ## Description
3636///
3637/// The amount of committed virtual memory
3638/// ## Metadata
3639/// | | |
3640/// |:-|:-
3641/// | Instrument: | `updowncounter` |
3642/// | Unit: | `By` |
3643/// | Status: | `Development` |
3644#[cfg(feature = "semconv_experimental")]
3645pub const PROCESS_MEMORY_VIRTUAL: &str = "process.memory.virtual";
3646
3647/// ## Description
3648///
3649/// Network bytes transferred
3650/// ## Metadata
3651/// | | |
3652/// |:-|:-
3653/// | Instrument: | `counter` |
3654/// | Unit: | `By` |
3655/// | Status: | `Development` |
3656///
3657/// ## Attributes
3658/// | Name | Requirement |
3659/// |:-|:- |
3660/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
3661#[cfg(feature = "semconv_experimental")]
3662pub const PROCESS_NETWORK_IO: &str = "process.network.io";
3663
3664/// ## Description
3665///
3666/// Number of file descriptors in use by the process
3667/// ## Metadata
3668/// | | |
3669/// |:-|:-
3670/// | Instrument: | `updowncounter` |
3671/// | Unit: | `{count}` |
3672/// | Status: | `Development` |
3673#[cfg(feature = "semconv_experimental")]
3674pub const PROCESS_OPEN_FILE_DESCRIPTOR_COUNT: &str = "process.open_file_descriptor.count";
3675
3676/// ## Description
3677///
3678/// Number of page faults the process has made
3679/// ## Metadata
3680/// | | |
3681/// |:-|:-
3682/// | Instrument: | `counter` |
3683/// | Unit: | `{fault}` |
3684/// | Status: | `Development` |
3685///
3686/// ## Attributes
3687/// | Name | Requirement |
3688/// |:-|:- |
3689/// | [`crate::attribute::PROCESS_PAGING_FAULT_TYPE`] | `Recommended`
3690#[cfg(feature = "semconv_experimental")]
3691pub const PROCESS_PAGING_FAULTS: &str = "process.paging.faults";
3692
3693/// ## Description
3694///
3695/// Process threads count
3696/// ## Metadata
3697/// | | |
3698/// |:-|:-
3699/// | Instrument: | `updowncounter` |
3700/// | Unit: | `{thread}` |
3701/// | Status: | `Development` |
3702#[cfg(feature = "semconv_experimental")]
3703pub const PROCESS_THREAD_COUNT: &str = "process.thread.count";
3704
3705/// ## Description
3706///
3707/// The time the process has been running.
3708///
3709/// ## Notes
3710///
3711/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
3712/// The actual accuracy would depend on the instrumentation and operating system
3713/// ## Metadata
3714/// | | |
3715/// |:-|:-
3716/// | Instrument: | `gauge` |
3717/// | Unit: | `s` |
3718/// | Status: | `Development` |
3719#[cfg(feature = "semconv_experimental")]
3720pub const PROCESS_UPTIME: &str = "process.uptime";
3721
3722/// ## Description
3723///
3724/// Measures the duration of outbound RPC.
3725///
3726/// ## Notes
3727///
3728/// While streaming RPCs may record this metric as start-of-batch
3729/// to end-of-batch, it's hard to interpret in practice.
3730///
3731/// **Streaming**: N/A
3732/// ## Metadata
3733/// | | |
3734/// |:-|:-
3735/// | Instrument: | `histogram` |
3736/// | Unit: | `ms` |
3737/// | Status: | `Development` |
3738#[cfg(feature = "semconv_experimental")]
3739pub const RPC_CLIENT_DURATION: &str = "rpc.client.duration";
3740
3741/// ## Description
3742///
3743/// Measures the size of RPC request messages (uncompressed).
3744///
3745/// ## Notes
3746///
3747/// **Streaming**: Recorded per message in a streaming batch
3748/// ## Metadata
3749/// | | |
3750/// |:-|:-
3751/// | Instrument: | `histogram` |
3752/// | Unit: | `By` |
3753/// | Status: | `Development` |
3754#[cfg(feature = "semconv_experimental")]
3755pub const RPC_CLIENT_REQUEST_SIZE: &str = "rpc.client.request.size";
3756
3757/// ## Description
3758///
3759/// Measures the number of messages received per RPC.
3760///
3761/// ## Notes
3762///
3763/// Should be 1 for all non-streaming RPCs.
3764///
3765/// **Streaming**: This metric is required for server and client streaming RPCs
3766/// ## Metadata
3767/// | | |
3768/// |:-|:-
3769/// | Instrument: | `histogram` |
3770/// | Unit: | `{count}` |
3771/// | Status: | `Development` |
3772#[cfg(feature = "semconv_experimental")]
3773pub const RPC_CLIENT_REQUESTS_PER_RPC: &str = "rpc.client.requests_per_rpc";
3774
3775/// ## Description
3776///
3777/// Measures the size of RPC response messages (uncompressed).
3778///
3779/// ## Notes
3780///
3781/// **Streaming**: Recorded per response in a streaming batch
3782/// ## Metadata
3783/// | | |
3784/// |:-|:-
3785/// | Instrument: | `histogram` |
3786/// | Unit: | `By` |
3787/// | Status: | `Development` |
3788#[cfg(feature = "semconv_experimental")]
3789pub const RPC_CLIENT_RESPONSE_SIZE: &str = "rpc.client.response.size";
3790
3791/// ## Description
3792///
3793/// Measures the number of messages sent per RPC.
3794///
3795/// ## Notes
3796///
3797/// Should be 1 for all non-streaming RPCs.
3798///
3799/// **Streaming**: This metric is required for server and client streaming RPCs
3800/// ## Metadata
3801/// | | |
3802/// |:-|:-
3803/// | Instrument: | `histogram` |
3804/// | Unit: | `{count}` |
3805/// | Status: | `Development` |
3806#[cfg(feature = "semconv_experimental")]
3807pub const RPC_CLIENT_RESPONSES_PER_RPC: &str = "rpc.client.responses_per_rpc";
3808
3809/// ## Description
3810///
3811/// Measures the duration of inbound RPC.
3812///
3813/// ## Notes
3814///
3815/// While streaming RPCs may record this metric as start-of-batch
3816/// to end-of-batch, it's hard to interpret in practice.
3817///
3818/// **Streaming**: N/A
3819/// ## Metadata
3820/// | | |
3821/// |:-|:-
3822/// | Instrument: | `histogram` |
3823/// | Unit: | `ms` |
3824/// | Status: | `Development` |
3825#[cfg(feature = "semconv_experimental")]
3826pub const RPC_SERVER_DURATION: &str = "rpc.server.duration";
3827
3828/// ## Description
3829///
3830/// Measures the size of RPC request messages (uncompressed).
3831///
3832/// ## Notes
3833///
3834/// **Streaming**: Recorded per message in a streaming batch
3835/// ## Metadata
3836/// | | |
3837/// |:-|:-
3838/// | Instrument: | `histogram` |
3839/// | Unit: | `By` |
3840/// | Status: | `Development` |
3841#[cfg(feature = "semconv_experimental")]
3842pub const RPC_SERVER_REQUEST_SIZE: &str = "rpc.server.request.size";
3843
3844/// ## Description
3845///
3846/// Measures the number of messages received per RPC.
3847///
3848/// ## Notes
3849///
3850/// Should be 1 for all non-streaming RPCs.
3851///
3852/// **Streaming** : This metric is required for server and client streaming RPCs
3853/// ## Metadata
3854/// | | |
3855/// |:-|:-
3856/// | Instrument: | `histogram` |
3857/// | Unit: | `{count}` |
3858/// | Status: | `Development` |
3859#[cfg(feature = "semconv_experimental")]
3860pub const RPC_SERVER_REQUESTS_PER_RPC: &str = "rpc.server.requests_per_rpc";
3861
3862/// ## Description
3863///
3864/// Measures the size of RPC response messages (uncompressed).
3865///
3866/// ## Notes
3867///
3868/// **Streaming**: Recorded per response in a streaming batch
3869/// ## Metadata
3870/// | | |
3871/// |:-|:-
3872/// | Instrument: | `histogram` |
3873/// | Unit: | `By` |
3874/// | Status: | `Development` |
3875#[cfg(feature = "semconv_experimental")]
3876pub const RPC_SERVER_RESPONSE_SIZE: &str = "rpc.server.response.size";
3877
3878/// ## Description
3879///
3880/// Measures the number of messages sent per RPC.
3881///
3882/// ## Notes
3883///
3884/// Should be 1 for all non-streaming RPCs.
3885///
3886/// **Streaming**: This metric is required for server and client streaming RPCs
3887/// ## Metadata
3888/// | | |
3889/// |:-|:-
3890/// | Instrument: | `histogram` |
3891/// | Unit: | `{count}` |
3892/// | Status: | `Development` |
3893#[cfg(feature = "semconv_experimental")]
3894pub const RPC_SERVER_RESPONSES_PER_RPC: &str = "rpc.server.responses_per_rpc";
3895
3896/// ## Description
3897///
3898/// Number of connections that are currently active on the server.
3899///
3900/// ## Notes
3901///
3902/// Meter name: `Microsoft.AspNetCore.Http.Connections`; Added in: ASP.NET Core 8.0
3903/// ## Metadata
3904/// | | |
3905/// |:-|:-
3906/// | Instrument: | `updowncounter` |
3907/// | Unit: | `{connection}` |
3908/// | Status: | `Stable` |
3909///
3910/// ## Attributes
3911/// | Name | Requirement |
3912/// |:-|:- |
3913/// | [`crate::attribute::SIGNALR_CONNECTION_STATUS`] | `Recommended`
3914/// | [`crate::attribute::SIGNALR_TRANSPORT`] | `Recommended`
3915pub const SIGNALR_SERVER_ACTIVE_CONNECTIONS: &str = "signalr.server.active_connections";
3916
3917/// ## Description
3918///
3919/// The duration of connections on the server.
3920///
3921/// ## Notes
3922///
3923/// Meter name: `Microsoft.AspNetCore.Http.Connections`; Added in: ASP.NET Core 8.0
3924/// ## Metadata
3925/// | | |
3926/// |:-|:-
3927/// | Instrument: | `histogram` |
3928/// | Unit: | `s` |
3929/// | Status: | `Stable` |
3930///
3931/// ## Attributes
3932/// | Name | Requirement |
3933/// |:-|:- |
3934/// | [`crate::attribute::SIGNALR_CONNECTION_STATUS`] | `Recommended`
3935/// | [`crate::attribute::SIGNALR_TRANSPORT`] | `Recommended`
3936pub const SIGNALR_SERVER_CONNECTION_DURATION: &str = "signalr.server.connection.duration";
3937
3938/// ## Description
3939///
3940/// Reports the current frequency of the CPU in Hz
3941/// ## Metadata
3942/// | | |
3943/// |:-|:-
3944/// | Instrument: | `gauge` |
3945/// | Unit: | `{Hz}` |
3946/// | Status: | `Development` |
3947///
3948/// ## Attributes
3949/// | Name | Requirement |
3950/// |:-|:- |
3951/// | [`crate::attribute::SYSTEM_CPU_LOGICAL_NUMBER`] | `Recommended`
3952#[cfg(feature = "semconv_experimental")]
3953pub const SYSTEM_CPU_FREQUENCY: &str = "system.cpu.frequency";
3954
3955/// ## Description
3956///
3957/// Reports the number of logical (virtual) processor cores created by the operating system to manage multitasking
3958///
3959/// ## Notes
3960///
3961/// Calculated by multiplying the number of sockets by the number of cores per socket, and then by the number of threads per core
3962/// ## Metadata
3963/// | | |
3964/// |:-|:-
3965/// | Instrument: | `updowncounter` |
3966/// | Unit: | `{cpu}` |
3967/// | Status: | `Development` |
3968#[cfg(feature = "semconv_experimental")]
3969pub const SYSTEM_CPU_LOGICAL_COUNT: &str = "system.cpu.logical.count";
3970
3971/// ## Description
3972///
3973/// Reports the number of actual physical processor cores on the hardware
3974///
3975/// ## Notes
3976///
3977/// Calculated by multiplying the number of sockets by the number of cores per socket
3978/// ## Metadata
3979/// | | |
3980/// |:-|:-
3981/// | Instrument: | `updowncounter` |
3982/// | Unit: | `{cpu}` |
3983/// | Status: | `Development` |
3984#[cfg(feature = "semconv_experimental")]
3985pub const SYSTEM_CPU_PHYSICAL_COUNT: &str = "system.cpu.physical.count";
3986
3987/// ## Description
3988///
3989/// Seconds each logical CPU spent on each mode
3990/// ## Metadata
3991/// | | |
3992/// |:-|:-
3993/// | Instrument: | `counter` |
3994/// | Unit: | `s` |
3995/// | Status: | `Development` |
3996///
3997/// ## Attributes
3998/// | Name | Requirement |
3999/// |:-|:- |
4000/// | [`crate::attribute::CPU_MODE`] | `Recommended`
4001/// | [`crate::attribute::SYSTEM_CPU_LOGICAL_NUMBER`] | `Recommended`
4002#[cfg(feature = "semconv_experimental")]
4003pub const SYSTEM_CPU_TIME: &str = "system.cpu.time";
4004
4005/// ## Description
4006///
4007/// Difference in system.cpu.time since the last measurement, divided by the elapsed time and number of logical CPUs
4008/// ## Metadata
4009/// | | |
4010/// |:-|:-
4011/// | Instrument: | `gauge` |
4012/// | Unit: | `1` |
4013/// | Status: | `Development` |
4014///
4015/// ## Attributes
4016/// | Name | Requirement |
4017/// |:-|:- |
4018/// | [`crate::attribute::CPU_MODE`] | `Recommended`
4019/// | [`crate::attribute::SYSTEM_CPU_LOGICAL_NUMBER`] | `Recommended`
4020#[cfg(feature = "semconv_experimental")]
4021pub const SYSTEM_CPU_UTILIZATION: &str = "system.cpu.utilization";
4022
4023/// ## Description
4024/// ## Metadata
4025/// | | |
4026/// |:-|:-
4027/// | Instrument: | `counter` |
4028/// | Unit: | `By` |
4029/// | Status: | `Development` |
4030///
4031/// ## Attributes
4032/// | Name | Requirement |
4033/// |:-|:- |
4034/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4035/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4036#[cfg(feature = "semconv_experimental")]
4037pub const SYSTEM_DISK_IO: &str = "system.disk.io";
4038
4039/// ## Description
4040///
4041/// Time disk spent activated
4042///
4043/// ## Notes
4044///
4045/// The real elapsed time ("wall clock") used in the I/O path (time from operations running in parallel are not counted). Measured as:
4046///
4047/// - Linux: Field 13 from [procfs-diskstats](https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats)
4048/// - Windows: The complement of
4049/// ["Disk% Idle Time"](https://learn.microsoft.com/archive/blogs/askcore/windows-performance-monitor-disk-counters-explained#windows-performance-monitor-disk-counters-explained)
4050/// performance counter: `uptime * (100 - "Disk\% Idle Time") / 100`
4051/// ## Metadata
4052/// | | |
4053/// |:-|:-
4054/// | Instrument: | `counter` |
4055/// | Unit: | `s` |
4056/// | Status: | `Development` |
4057///
4058/// ## Attributes
4059/// | Name | Requirement |
4060/// |:-|:- |
4061/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4062#[cfg(feature = "semconv_experimental")]
4063pub const SYSTEM_DISK_IO_TIME: &str = "system.disk.io_time";
4064
4065/// ## Description
4066///
4067/// The total storage capacity of the disk
4068/// ## Metadata
4069/// | | |
4070/// |:-|:-
4071/// | Instrument: | `updowncounter` |
4072/// | Unit: | `By` |
4073/// | Status: | `Development` |
4074///
4075/// ## Attributes
4076/// | Name | Requirement |
4077/// |:-|:- |
4078/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4079#[cfg(feature = "semconv_experimental")]
4080pub const SYSTEM_DISK_LIMIT: &str = "system.disk.limit";
4081
4082/// ## Description
4083/// ## Metadata
4084/// | | |
4085/// |:-|:-
4086/// | Instrument: | `counter` |
4087/// | Unit: | `{operation}` |
4088/// | Status: | `Development` |
4089///
4090/// ## Attributes
4091/// | Name | Requirement |
4092/// |:-|:- |
4093/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4094/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4095#[cfg(feature = "semconv_experimental")]
4096pub const SYSTEM_DISK_MERGED: &str = "system.disk.merged";
4097
4098/// ## Description
4099///
4100/// Sum of the time each operation took to complete
4101///
4102/// ## Notes
4103///
4104/// Because it is the sum of time each request took, parallel-issued requests each contribute to make the count grow. Measured as:
4105///
4106/// - Linux: Fields 7 & 11 from [procfs-diskstats](https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats)
4107/// - Windows: "Avg. Disk sec/Read" perf counter multiplied by "Disk Reads/sec" perf counter (similar for Writes)
4108/// ## Metadata
4109/// | | |
4110/// |:-|:-
4111/// | Instrument: | `counter` |
4112/// | Unit: | `s` |
4113/// | Status: | `Development` |
4114///
4115/// ## Attributes
4116/// | Name | Requirement |
4117/// |:-|:- |
4118/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4119/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4120#[cfg(feature = "semconv_experimental")]
4121pub const SYSTEM_DISK_OPERATION_TIME: &str = "system.disk.operation_time";
4122
4123/// ## Description
4124/// ## Metadata
4125/// | | |
4126/// |:-|:-
4127/// | Instrument: | `counter` |
4128/// | Unit: | `{operation}` |
4129/// | Status: | `Development` |
4130///
4131/// ## Attributes
4132/// | Name | Requirement |
4133/// |:-|:- |
4134/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4135/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4136#[cfg(feature = "semconv_experimental")]
4137pub const SYSTEM_DISK_OPERATIONS: &str = "system.disk.operations";
4138
4139/// ## Description
4140///
4141/// The total storage capacity of the filesystem
4142/// ## Metadata
4143/// | | |
4144/// |:-|:-
4145/// | Instrument: | `updowncounter` |
4146/// | Unit: | `By` |
4147/// | Status: | `Development` |
4148///
4149/// ## Attributes
4150/// | Name | Requirement |
4151/// |:-|:- |
4152/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4153/// | [`crate::attribute::SYSTEM_FILESYSTEM_MODE`] | `Recommended`
4154/// | [`crate::attribute::SYSTEM_FILESYSTEM_MOUNTPOINT`] | `Recommended`
4155/// | [`crate::attribute::SYSTEM_FILESYSTEM_TYPE`] | `Recommended`
4156#[cfg(feature = "semconv_experimental")]
4157pub const SYSTEM_FILESYSTEM_LIMIT: &str = "system.filesystem.limit";
4158
4159/// ## Description
4160///
4161/// Reports a filesystem's space usage across different states.
4162///
4163/// ## Notes
4164///
4165/// The sum of all `system.filesystem.usage` values over the different `system.filesystem.state` attributes
4166/// SHOULD equal the total storage capacity of the filesystem, that is `system.filesystem.limit`
4167/// ## Metadata
4168/// | | |
4169/// |:-|:-
4170/// | Instrument: | `updowncounter` |
4171/// | Unit: | `By` |
4172/// | Status: | `Development` |
4173///
4174/// ## Attributes
4175/// | Name | Requirement |
4176/// |:-|:- |
4177/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4178/// | [`crate::attribute::SYSTEM_FILESYSTEM_MODE`] | `Recommended`
4179/// | [`crate::attribute::SYSTEM_FILESYSTEM_MOUNTPOINT`] | `Recommended`
4180/// | [`crate::attribute::SYSTEM_FILESYSTEM_STATE`] | `Recommended`
4181/// | [`crate::attribute::SYSTEM_FILESYSTEM_TYPE`] | `Recommended`
4182#[cfg(feature = "semconv_experimental")]
4183pub const SYSTEM_FILESYSTEM_USAGE: &str = "system.filesystem.usage";
4184
4185/// ## Description
4186/// ## Metadata
4187/// | | |
4188/// |:-|:-
4189/// | Instrument: | `gauge` |
4190/// | Unit: | `1` |
4191/// | Status: | `Development` |
4192///
4193/// ## Attributes
4194/// | Name | Requirement |
4195/// |:-|:- |
4196/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4197/// | [`crate::attribute::SYSTEM_FILESYSTEM_MODE`] | `Recommended`
4198/// | [`crate::attribute::SYSTEM_FILESYSTEM_MOUNTPOINT`] | `Recommended`
4199/// | [`crate::attribute::SYSTEM_FILESYSTEM_STATE`] | `Recommended`
4200/// | [`crate::attribute::SYSTEM_FILESYSTEM_TYPE`] | `Recommended`
4201#[cfg(feature = "semconv_experimental")]
4202pub const SYSTEM_FILESYSTEM_UTILIZATION: &str = "system.filesystem.utilization";
4203
4204/// ## Description
4205///
4206/// An estimate of how much memory is available for starting new applications, without causing swapping
4207///
4208/// ## Notes
4209///
4210/// This is an alternative to `system.memory.usage` metric with `state=free`.
4211/// Linux starting from 3.14 exports "available" memory. It takes "free" memory as a baseline, and then factors in kernel-specific values.
4212/// This is supposed to be more accurate than just "free" memory.
4213/// For reference, see the calculations [here](https://superuser.com/a/980821).
4214/// See also `MemAvailable` in [/proc/meminfo](https://man7.org/linux/man-pages/man5/proc.5.html)
4215/// ## Metadata
4216/// | | |
4217/// |:-|:-
4218/// | Instrument: | `updowncounter` |
4219/// | Unit: | `By` |
4220/// | Status: | `Development` |
4221#[cfg(feature = "semconv_experimental")]
4222pub const SYSTEM_LINUX_MEMORY_AVAILABLE: &str = "system.linux.memory.available";
4223
4224/// ## Description
4225///
4226/// Reports the memory used by the Linux kernel for managing caches of frequently used objects.
4227///
4228/// ## Notes
4229///
4230/// The sum over the `reclaimable` and `unreclaimable` state values in `linux.memory.slab.usage` SHOULD be equal to the total slab memory available on the system.
4231/// Note that the total slab memory is not constant and may vary over time.
4232/// See also the [Slab allocator](https://blogs.oracle.com/linux/post/understanding-linux-kernel-memory-statistics) and `Slab` in [/proc/meminfo](https://man7.org/linux/man-pages/man5/proc.5.html)
4233/// ## Metadata
4234/// | | |
4235/// |:-|:-
4236/// | Instrument: | `updowncounter` |
4237/// | Unit: | `By` |
4238/// | Status: | `Development` |
4239///
4240/// ## Attributes
4241/// | Name | Requirement |
4242/// |:-|:- |
4243/// | [`crate::attribute::LINUX_MEMORY_SLAB_STATE`] | `Recommended`
4244#[cfg(feature = "semconv_experimental")]
4245pub const SYSTEM_LINUX_MEMORY_SLAB_USAGE: &str = "system.linux.memory.slab.usage";
4246
4247/// ## Description
4248///
4249/// Total memory available in the system.
4250///
4251/// ## Notes
4252///
4253/// Its value SHOULD equal the sum of `system.memory.state` over all states
4254/// ## Metadata
4255/// | | |
4256/// |:-|:-
4257/// | Instrument: | `updowncounter` |
4258/// | Unit: | `By` |
4259/// | Status: | `Development` |
4260#[cfg(feature = "semconv_experimental")]
4261pub const SYSTEM_MEMORY_LIMIT: &str = "system.memory.limit";
4262
4263/// ## Description
4264///
4265/// Shared memory used (mostly by tmpfs).
4266///
4267/// ## Notes
4268///
4269/// Equivalent of `shared` from [`free` command](https://man7.org/linux/man-pages/man1/free.1.html) or
4270/// `Shmem` from [`/proc/meminfo`](https://man7.org/linux/man-pages/man5/proc.5.html)"
4271/// ## Metadata
4272/// | | |
4273/// |:-|:-
4274/// | Instrument: | `updowncounter` |
4275/// | Unit: | `By` |
4276/// | Status: | `Development` |
4277#[cfg(feature = "semconv_experimental")]
4278pub const SYSTEM_MEMORY_SHARED: &str = "system.memory.shared";
4279
4280/// ## Description
4281///
4282/// Reports memory in use by state.
4283///
4284/// ## Notes
4285///
4286/// The sum over all `system.memory.state` values SHOULD equal the total memory
4287/// available on the system, that is `system.memory.limit`
4288/// ## Metadata
4289/// | | |
4290/// |:-|:-
4291/// | Instrument: | `updowncounter` |
4292/// | Unit: | `By` |
4293/// | Status: | `Development` |
4294///
4295/// ## Attributes
4296/// | Name | Requirement |
4297/// |:-|:- |
4298/// | [`crate::attribute::SYSTEM_MEMORY_STATE`] | `Recommended`
4299#[cfg(feature = "semconv_experimental")]
4300pub const SYSTEM_MEMORY_USAGE: &str = "system.memory.usage";
4301
4302/// ## Description
4303/// ## Metadata
4304/// | | |
4305/// |:-|:-
4306/// | Instrument: | `gauge` |
4307/// | Unit: | `1` |
4308/// | Status: | `Development` |
4309///
4310/// ## Attributes
4311/// | Name | Requirement |
4312/// |:-|:- |
4313/// | [`crate::attribute::SYSTEM_MEMORY_STATE`] | `Recommended`
4314#[cfg(feature = "semconv_experimental")]
4315pub const SYSTEM_MEMORY_UTILIZATION: &str = "system.memory.utilization";
4316
4317/// ## Description
4318/// ## Metadata
4319/// | | |
4320/// |:-|:-
4321/// | Instrument: | `updowncounter` |
4322/// | Unit: | `{connection}` |
4323/// | Status: | `Development` |
4324///
4325/// ## Attributes
4326/// | Name | Requirement |
4327/// |:-|:- |
4328/// | [`crate::attribute::NETWORK_CONNECTION_STATE`] | `Recommended`
4329/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
4330/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
4331#[cfg(feature = "semconv_experimental")]
4332pub const SYSTEM_NETWORK_CONNECTIONS: &str = "system.network.connections";
4333
4334/// ## Description
4335///
4336/// Count of packets that are dropped or discarded even though there was no error
4337///
4338/// ## Notes
4339///
4340/// Measured as:
4341///
4342/// - Linux: the `drop` column in `/proc/dev/net` ([source](https://web.archive.org/web/20180321091318/http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html))
4343/// - Windows: [`InDiscards`/`OutDiscards`](https://docs.microsoft.com/windows/win32/api/netioapi/ns-netioapi-mib_if_row2)
4344/// from [`GetIfEntry2`](https://docs.microsoft.com/windows/win32/api/netioapi/nf-netioapi-getifentry2)
4345/// ## Metadata
4346/// | | |
4347/// |:-|:-
4348/// | Instrument: | `counter` |
4349/// | Unit: | `{packet}` |
4350/// | Status: | `Development` |
4351///
4352/// ## Attributes
4353/// | Name | Requirement |
4354/// |:-|:- |
4355/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
4356/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
4357#[cfg(feature = "semconv_experimental")]
4358pub const SYSTEM_NETWORK_DROPPED: &str = "system.network.dropped";
4359
4360/// ## Description
4361///
4362/// Count of network errors detected
4363///
4364/// ## Notes
4365///
4366/// Measured as:
4367///
4368/// - Linux: the `errs` column in `/proc/dev/net` ([source](https://web.archive.org/web/20180321091318/http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html)).
4369/// - Windows: [`InErrors`/`OutErrors`](https://docs.microsoft.com/windows/win32/api/netioapi/ns-netioapi-mib_if_row2)
4370/// from [`GetIfEntry2`](https://docs.microsoft.com/windows/win32/api/netioapi/nf-netioapi-getifentry2)
4371/// ## Metadata
4372/// | | |
4373/// |:-|:-
4374/// | Instrument: | `counter` |
4375/// | Unit: | `{error}` |
4376/// | Status: | `Development` |
4377///
4378/// ## Attributes
4379/// | Name | Requirement |
4380/// |:-|:- |
4381/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
4382/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
4383#[cfg(feature = "semconv_experimental")]
4384pub const SYSTEM_NETWORK_ERRORS: &str = "system.network.errors";
4385
4386/// ## Description
4387/// ## Metadata
4388/// | | |
4389/// |:-|:-
4390/// | Instrument: | `counter` |
4391/// | Unit: | `By` |
4392/// | Status: | `Development` |
4393///
4394/// ## Attributes
4395/// | Name | Requirement |
4396/// |:-|:- |
4397/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
4398/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
4399#[cfg(feature = "semconv_experimental")]
4400pub const SYSTEM_NETWORK_IO: &str = "system.network.io";
4401
4402/// ## Description
4403/// ## Metadata
4404/// | | |
4405/// |:-|:-
4406/// | Instrument: | `counter` |
4407/// | Unit: | `{packet}` |
4408/// | Status: | `Development` |
4409///
4410/// ## Attributes
4411/// | Name | Requirement |
4412/// |:-|:- |
4413/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
4414/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4415#[cfg(feature = "semconv_experimental")]
4416pub const SYSTEM_NETWORK_PACKETS: &str = "system.network.packets";
4417
4418/// ## Description
4419/// ## Metadata
4420/// | | |
4421/// |:-|:-
4422/// | Instrument: | `counter` |
4423/// | Unit: | `{fault}` |
4424/// | Status: | `Development` |
4425///
4426/// ## Attributes
4427/// | Name | Requirement |
4428/// |:-|:- |
4429/// | [`crate::attribute::SYSTEM_PAGING_TYPE`] | `Recommended`
4430#[cfg(feature = "semconv_experimental")]
4431pub const SYSTEM_PAGING_FAULTS: &str = "system.paging.faults";
4432
4433/// ## Description
4434/// ## Metadata
4435/// | | |
4436/// |:-|:-
4437/// | Instrument: | `counter` |
4438/// | Unit: | `{operation}` |
4439/// | Status: | `Development` |
4440///
4441/// ## Attributes
4442/// | Name | Requirement |
4443/// |:-|:- |
4444/// | [`crate::attribute::SYSTEM_PAGING_DIRECTION`] | `Recommended`
4445/// | [`crate::attribute::SYSTEM_PAGING_TYPE`] | `Recommended`
4446#[cfg(feature = "semconv_experimental")]
4447pub const SYSTEM_PAGING_OPERATIONS: &str = "system.paging.operations";
4448
4449/// ## Description
4450///
4451/// Unix swap or windows pagefile usage
4452/// ## Metadata
4453/// | | |
4454/// |:-|:-
4455/// | Instrument: | `updowncounter` |
4456/// | Unit: | `By` |
4457/// | Status: | `Development` |
4458///
4459/// ## Attributes
4460/// | Name | Requirement |
4461/// |:-|:- |
4462/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4463/// | [`crate::attribute::SYSTEM_PAGING_STATE`] | `Recommended`
4464#[cfg(feature = "semconv_experimental")]
4465pub const SYSTEM_PAGING_USAGE: &str = "system.paging.usage";
4466
4467/// ## Description
4468/// ## Metadata
4469/// | | |
4470/// |:-|:-
4471/// | Instrument: | `gauge` |
4472/// | Unit: | `1` |
4473/// | Status: | `Development` |
4474///
4475/// ## Attributes
4476/// | Name | Requirement |
4477/// |:-|:- |
4478/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4479/// | [`crate::attribute::SYSTEM_PAGING_STATE`] | `Recommended`
4480#[cfg(feature = "semconv_experimental")]
4481pub const SYSTEM_PAGING_UTILIZATION: &str = "system.paging.utilization";
4482
4483/// ## Description
4484///
4485/// Total number of processes in each state
4486/// ## Metadata
4487/// | | |
4488/// |:-|:-
4489/// | Instrument: | `updowncounter` |
4490/// | Unit: | `{process}` |
4491/// | Status: | `Development` |
4492///
4493/// ## Attributes
4494/// | Name | Requirement |
4495/// |:-|:- |
4496/// | [`crate::attribute::SYSTEM_PROCESS_STATUS`] | `Recommended`
4497#[cfg(feature = "semconv_experimental")]
4498pub const SYSTEM_PROCESS_COUNT: &str = "system.process.count";
4499
4500/// ## Description
4501///
4502/// Total number of processes created over uptime of the host
4503/// ## Metadata
4504/// | | |
4505/// |:-|:-
4506/// | Instrument: | `counter` |
4507/// | Unit: | `{process}` |
4508/// | Status: | `Development` |
4509#[cfg(feature = "semconv_experimental")]
4510pub const SYSTEM_PROCESS_CREATED: &str = "system.process.created";
4511
4512/// ## Description
4513///
4514/// The time the system has been running
4515///
4516/// ## Notes
4517///
4518/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
4519/// The actual accuracy would depend on the instrumentation and operating system
4520/// ## Metadata
4521/// | | |
4522/// |:-|:-
4523/// | Instrument: | `gauge` |
4524/// | Unit: | `s` |
4525/// | Status: | `Development` |
4526#[cfg(feature = "semconv_experimental")]
4527pub const SYSTEM_UPTIME: &str = "system.uptime";
4528
4529/// ## Description
4530///
4531/// Garbage collection duration.
4532///
4533/// ## Notes
4534///
4535/// The values can be retrieve from [`perf_hooks.PerformanceObserver(...).observe({ entryTypes: ['gc'] })`](https://nodejs.org/api/perf_hooks.html#performanceobserverobserveoptions)
4536/// ## Metadata
4537/// | | |
4538/// |:-|:-
4539/// | Instrument: | `histogram` |
4540/// | Unit: | `s` |
4541/// | Status: | `Development` |
4542///
4543/// ## Attributes
4544/// | Name | Requirement |
4545/// |:-|:- |
4546/// | [`crate::attribute::V8JS_GC_TYPE`] | `Required`
4547#[cfg(feature = "semconv_experimental")]
4548pub const V8JS_GC_DURATION: &str = "v8js.gc.duration";
4549
4550/// ## Description
4551///
4552/// Heap space available size.
4553///
4554/// ## Notes
4555///
4556/// Value can be retrieved from value `space_available_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
4557/// ## Metadata
4558/// | | |
4559/// |:-|:-
4560/// | Instrument: | `updowncounter` |
4561/// | Unit: | `By` |
4562/// | Status: | `Development` |
4563///
4564/// ## Attributes
4565/// | Name | Requirement |
4566/// |:-|:- |
4567/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
4568#[cfg(feature = "semconv_experimental")]
4569pub const V8JS_HEAP_SPACE_AVAILABLE_SIZE: &str = "v8js.heap.space.available_size";
4570
4571/// ## Description
4572///
4573/// Committed size of a heap space.
4574///
4575/// ## Notes
4576///
4577/// Value can be retrieved from value `physical_space_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
4578/// ## Metadata
4579/// | | |
4580/// |:-|:-
4581/// | Instrument: | `updowncounter` |
4582/// | Unit: | `By` |
4583/// | Status: | `Development` |
4584///
4585/// ## Attributes
4586/// | Name | Requirement |
4587/// |:-|:- |
4588/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
4589#[cfg(feature = "semconv_experimental")]
4590pub const V8JS_HEAP_SPACE_PHYSICAL_SIZE: &str = "v8js.heap.space.physical_size";
4591
4592/// ## Description
4593///
4594/// Total heap memory size pre-allocated.
4595///
4596/// ## Notes
4597///
4598/// The value can be retrieved from value `space_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
4599/// ## Metadata
4600/// | | |
4601/// |:-|:-
4602/// | Instrument: | `updowncounter` |
4603/// | Unit: | `By` |
4604/// | Status: | `Development` |
4605///
4606/// ## Attributes
4607/// | Name | Requirement |
4608/// |:-|:- |
4609/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
4610#[cfg(feature = "semconv_experimental")]
4611pub const V8JS_MEMORY_HEAP_LIMIT: &str = "v8js.memory.heap.limit";
4612
4613/// ## Description
4614///
4615/// Heap Memory size allocated.
4616///
4617/// ## Notes
4618///
4619/// The value can be retrieved from value `space_used_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
4620/// ## Metadata
4621/// | | |
4622/// |:-|:-
4623/// | Instrument: | `updowncounter` |
4624/// | Unit: | `By` |
4625/// | Status: | `Development` |
4626///
4627/// ## Attributes
4628/// | Name | Requirement |
4629/// |:-|:- |
4630/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
4631#[cfg(feature = "semconv_experimental")]
4632pub const V8JS_MEMORY_HEAP_USED: &str = "v8js.memory.heap.used";
4633
4634/// ## Description
4635///
4636/// The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged)
4637/// ## Metadata
4638/// | | |
4639/// |:-|:-
4640/// | Instrument: | `updowncounter` |
4641/// | Unit: | `{change}` |
4642/// | Status: | `Development` |
4643///
4644/// ## Attributes
4645/// | Name | Requirement |
4646/// |:-|:- |
4647/// | [`crate::attribute::VCS_CHANGE_STATE`] | `Required`
4648/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4649/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4650#[cfg(feature = "semconv_experimental")]
4651pub const VCS_CHANGE_COUNT: &str = "vcs.change.count";
4652
4653/// ## Description
4654///
4655/// The time duration a change (pull request/merge request/changelist) has been in a given state
4656/// ## Metadata
4657/// | | |
4658/// |:-|:-
4659/// | Instrument: | `gauge` |
4660/// | Unit: | `s` |
4661/// | Status: | `Development` |
4662///
4663/// ## Attributes
4664/// | Name | Requirement |
4665/// |:-|:- |
4666/// | [`crate::attribute::VCS_CHANGE_STATE`] | `Required`
4667/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
4668/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4669/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4670#[cfg(feature = "semconv_experimental")]
4671pub const VCS_CHANGE_DURATION: &str = "vcs.change.duration";
4672
4673/// ## Description
4674///
4675/// The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval
4676/// ## Metadata
4677/// | | |
4678/// |:-|:-
4679/// | Instrument: | `gauge` |
4680/// | Unit: | `s` |
4681/// | Status: | `Development` |
4682///
4683/// ## Attributes
4684/// | Name | Requirement |
4685/// |:-|:- |
4686/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Recommended`
4687/// | [`crate::attribute::VCS_REF_BASE_REVISION`] | `Opt_in`
4688/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
4689/// | [`crate::attribute::VCS_REF_HEAD_REVISION`] | `Opt_in`
4690/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4691/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4692#[cfg(feature = "semconv_experimental")]
4693pub const VCS_CHANGE_TIME_TO_APPROVAL: &str = "vcs.change.time_to_approval";
4694
4695/// ## Description
4696///
4697/// The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref
4698/// ## Metadata
4699/// | | |
4700/// |:-|:-
4701/// | Instrument: | `gauge` |
4702/// | Unit: | `s` |
4703/// | Status: | `Development` |
4704///
4705/// ## Attributes
4706/// | Name | Requirement |
4707/// |:-|:- |
4708/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Recommended`
4709/// | [`crate::attribute::VCS_REF_BASE_REVISION`] | `Opt_in`
4710/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
4711/// | [`crate::attribute::VCS_REF_HEAD_REVISION`] | `Opt_in`
4712/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4713/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4714#[cfg(feature = "semconv_experimental")]
4715pub const VCS_CHANGE_TIME_TO_MERGE: &str = "vcs.change.time_to_merge";
4716
4717/// ## Description
4718///
4719/// The number of unique contributors to a repository
4720/// ## Metadata
4721/// | | |
4722/// |:-|:-
4723/// | Instrument: | `gauge` |
4724/// | Unit: | `{contributor}` |
4725/// | Status: | `Development` |
4726///
4727/// ## Attributes
4728/// | Name | Requirement |
4729/// |:-|:- |
4730/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4731/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4732#[cfg(feature = "semconv_experimental")]
4733pub const VCS_CONTRIBUTOR_COUNT: &str = "vcs.contributor.count";
4734
4735/// ## Description
4736///
4737/// The number of refs of type branch or tag in a repository
4738/// ## Metadata
4739/// | | |
4740/// |:-|:-
4741/// | Instrument: | `updowncounter` |
4742/// | Unit: | `{ref}` |
4743/// | Status: | `Development` |
4744///
4745/// ## Attributes
4746/// | Name | Requirement |
4747/// |:-|:- |
4748/// | [`crate::attribute::VCS_REF_TYPE`] | `Required`
4749/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4750/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4751#[cfg(feature = "semconv_experimental")]
4752pub const VCS_REF_COUNT: &str = "vcs.ref.count";
4753
4754/// ## Description
4755///
4756/// The number of lines added/removed in a ref (branch) relative to the ref from the `vcs.ref.base.name` attribute.
4757///
4758/// ## Notes
4759///
4760/// This metric should be reported for each `vcs.line_change.type` value. For example if a ref added 3 lines and removed 2 lines,
4761/// instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers).
4762/// If number of lines added/removed should be calculated from the start of time, then `vcs.ref.base.name` SHOULD be set to an empty string
4763/// ## Metadata
4764/// | | |
4765/// |:-|:-
4766/// | Instrument: | `gauge` |
4767/// | Unit: | `{line}` |
4768/// | Status: | `Development` |
4769///
4770/// ## Attributes
4771/// | Name | Requirement |
4772/// |:-|:- |
4773/// | [`crate::attribute::VCS_CHANGE_ID`] | `Conditionally_required`: if a change is associate with the ref.
4774/// | [`crate::attribute::VCS_LINE_CHANGE_TYPE`] | `Required`
4775/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Required`
4776/// | [`crate::attribute::VCS_REF_BASE_TYPE`] | `Required`
4777/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
4778/// | [`crate::attribute::VCS_REF_HEAD_TYPE`] | `Required`
4779/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4780/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4781#[cfg(feature = "semconv_experimental")]
4782pub const VCS_REF_LINES_DELTA: &str = "vcs.ref.lines_delta";
4783
4784/// ## Description
4785///
4786/// The number of revisions (commits) a ref (branch) is ahead/behind the branch from the `vcs.ref.base.name` attribute
4787///
4788/// ## Notes
4789///
4790/// This metric should be reported for each `vcs.revision_delta.direction` value. For example if branch `a` is 3 commits behind and 2 commits ahead of `trunk`,
4791/// instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers) and `vcs.ref.base.name` is set to `trunk`
4792/// ## Metadata
4793/// | | |
4794/// |:-|:-
4795/// | Instrument: | `gauge` |
4796/// | Unit: | `{revision}` |
4797/// | Status: | `Development` |
4798///
4799/// ## Attributes
4800/// | Name | Requirement |
4801/// |:-|:- |
4802/// | [`crate::attribute::VCS_CHANGE_ID`] | `Conditionally_required`: if a change is associate with the ref.
4803/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Required`
4804/// | [`crate::attribute::VCS_REF_BASE_TYPE`] | `Required`
4805/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
4806/// | [`crate::attribute::VCS_REF_HEAD_TYPE`] | `Required`
4807/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4808/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4809/// | [`crate::attribute::VCS_REVISION_DELTA_DIRECTION`] | `Required`
4810#[cfg(feature = "semconv_experimental")]
4811pub const VCS_REF_REVISIONS_DELTA: &str = "vcs.ref.revisions_delta";
4812
4813/// ## Description
4814///
4815/// Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` attribute will always be `branch`
4816/// ## Metadata
4817/// | | |
4818/// |:-|:-
4819/// | Instrument: | `gauge` |
4820/// | Unit: | `s` |
4821/// | Status: | `Development` |
4822///
4823/// ## Attributes
4824/// | Name | Requirement |
4825/// |:-|:- |
4826/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
4827/// | [`crate::attribute::VCS_REF_HEAD_TYPE`] | `Required`
4828/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
4829/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
4830#[cfg(feature = "semconv_experimental")]
4831pub const VCS_REF_TIME: &str = "vcs.ref.time";
4832
4833/// ## Description
4834///
4835/// The number of repositories in an organization
4836/// ## Metadata
4837/// | | |
4838/// |:-|:-
4839/// | Instrument: | `updowncounter` |
4840/// | Unit: | `{repository}` |
4841/// | Status: | `Development` |
4842#[cfg(feature = "semconv_experimental")]
4843pub const VCS_REPOSITORY_COUNT: &str = "vcs.repository.count";