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://opentelemetry.io/docs/specs/semconv/general/metrics/
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("s")
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`] | `Required`
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/// Operating frequency of the logical CPU in Hertz
454/// ## Metadata
455/// | | |
456/// |:-|:-
457/// | Instrument: | `gauge` |
458/// | Unit: | `Hz` |
459/// | Status: | `Development` |
460///
461/// ## Attributes
462/// | Name | Requirement |
463/// |:-|:- |
464/// | [`crate::attribute::CPU_LOGICAL_NUMBER`] | `Recommended`
465#[cfg(feature = "semconv_experimental")]
466pub const CPU_FREQUENCY: &str = "cpu.frequency";
467
468/// ## Description
469///
470/// Seconds each logical CPU spent on each mode
471/// ## Metadata
472/// | | |
473/// |:-|:-
474/// | Instrument: | `counter` |
475/// | Unit: | `s` |
476/// | Status: | `Development` |
477///
478/// ## Attributes
479/// | Name | Requirement |
480/// |:-|:- |
481/// | [`crate::attribute::CPU_LOGICAL_NUMBER`] | `Recommended`
482/// | [`crate::attribute::CPU_MODE`] | `Recommended`
483#[cfg(feature = "semconv_experimental")]
484pub const CPU_TIME: &str = "cpu.time";
485
486/// ## Description
487///
488/// For each logical CPU, the utilization is calculated as the change in cumulative CPU time (cpu.time) over a measurement interval, divided by the elapsed time
489/// ## Metadata
490/// | | |
491/// |:-|:-
492/// | Instrument: | `gauge` |
493/// | Unit: | `1` |
494/// | Status: | `Development` |
495///
496/// ## Attributes
497/// | Name | Requirement |
498/// |:-|:- |
499/// | [`crate::attribute::CPU_LOGICAL_NUMBER`] | `Recommended`
500/// | [`crate::attribute::CPU_MODE`] | `Recommended`
501#[cfg(feature = "semconv_experimental")]
502pub const CPU_UTILIZATION: &str = "cpu.utilization";
503
504/// ## Description
505///
506/// The total number of objects collected inside a generation since interpreter start.
507///
508/// ## Notes
509///
510/// This metric reports data from [`gc.stats()`](https://docs.python.org/3/library/gc.html#gc.get_stats)
511/// ## Metadata
512/// | | |
513/// |:-|:-
514/// | Instrument: | `counter` |
515/// | Unit: | `{object}` |
516/// | Status: | `Development` |
517///
518/// ## Attributes
519/// | Name | Requirement |
520/// |:-|:- |
521/// | [`crate::attribute::CPYTHON_GC_GENERATION`] | `Required`
522#[cfg(feature = "semconv_experimental")]
523pub const CPYTHON_GC_COLLECTED_OBJECTS: &str = "cpython.gc.collected_objects";
524
525/// ## Description
526///
527/// The number of times a generation was collected since interpreter start.
528///
529/// ## Notes
530///
531/// This metric reports data from [`gc.stats()`](https://docs.python.org/3/library/gc.html#gc.get_stats)
532/// ## Metadata
533/// | | |
534/// |:-|:-
535/// | Instrument: | `counter` |
536/// | Unit: | `{collection}` |
537/// | Status: | `Development` |
538///
539/// ## Attributes
540/// | Name | Requirement |
541/// |:-|:- |
542/// | [`crate::attribute::CPYTHON_GC_GENERATION`] | `Required`
543#[cfg(feature = "semconv_experimental")]
544pub const CPYTHON_GC_COLLECTIONS: &str = "cpython.gc.collections";
545
546/// ## Description
547///
548/// The total number of objects which were found to be uncollectable inside a generation since interpreter start.
549///
550/// ## Notes
551///
552/// This metric reports data from [`gc.stats()`](https://docs.python.org/3/library/gc.html#gc.get_stats)
553/// ## Metadata
554/// | | |
555/// |:-|:-
556/// | Instrument: | `counter` |
557/// | Unit: | `{object}` |
558/// | Status: | `Development` |
559///
560/// ## Attributes
561/// | Name | Requirement |
562/// |:-|:- |
563/// | [`crate::attribute::CPYTHON_GC_GENERATION`] | `Required`
564#[cfg(feature = "semconv_experimental")]
565pub const CPYTHON_GC_UNCOLLECTABLE_OBJECTS: &str = "cpython.gc.uncollectable_objects";
566
567/// ## Description
568///
569/// The number of connections that are currently in state described by the `state` attribute
570/// ## Metadata
571/// | | |
572/// |:-|:-
573/// | Instrument: | `updowncounter` |
574/// | Unit: | `{connection}` |
575/// | Status: | `Development` |
576///
577/// ## Attributes
578/// | Name | Requirement |
579/// |:-|:- |
580/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
581/// | [`crate::attribute::DB_CLIENT_CONNECTION_STATE`] | `Required`
582#[cfg(feature = "semconv_experimental")]
583pub const DB_CLIENT_CONNECTION_COUNT: &str = "db.client.connection.count";
584
585/// ## Description
586///
587/// The time it took to create a new connection
588/// ## Metadata
589/// | | |
590/// |:-|:-
591/// | Instrument: | `histogram` |
592/// | Unit: | `s` |
593/// | Status: | `Development` |
594///
595/// ## Attributes
596/// | Name | Requirement |
597/// |:-|:- |
598/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
599#[cfg(feature = "semconv_experimental")]
600pub const DB_CLIENT_CONNECTION_CREATE_TIME: &str = "db.client.connection.create_time";
601
602/// ## Description
603///
604/// The maximum number of idle open connections allowed
605/// ## Metadata
606/// | | |
607/// |:-|:-
608/// | Instrument: | `updowncounter` |
609/// | Unit: | `{connection}` |
610/// | Status: | `Development` |
611///
612/// ## Attributes
613/// | Name | Requirement |
614/// |:-|:- |
615/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
616#[cfg(feature = "semconv_experimental")]
617pub const DB_CLIENT_CONNECTION_IDLE_MAX: &str = "db.client.connection.idle.max";
618
619/// ## Description
620///
621/// The minimum number of idle open connections allowed
622/// ## Metadata
623/// | | |
624/// |:-|:-
625/// | Instrument: | `updowncounter` |
626/// | Unit: | `{connection}` |
627/// | Status: | `Development` |
628///
629/// ## Attributes
630/// | Name | Requirement |
631/// |:-|:- |
632/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
633#[cfg(feature = "semconv_experimental")]
634pub const DB_CLIENT_CONNECTION_IDLE_MIN: &str = "db.client.connection.idle.min";
635
636/// ## Description
637///
638/// The maximum number of open connections allowed
639/// ## Metadata
640/// | | |
641/// |:-|:-
642/// | Instrument: | `updowncounter` |
643/// | Unit: | `{connection}` |
644/// | Status: | `Development` |
645///
646/// ## Attributes
647/// | Name | Requirement |
648/// |:-|:- |
649/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
650#[cfg(feature = "semconv_experimental")]
651pub const DB_CLIENT_CONNECTION_MAX: &str = "db.client.connection.max";
652
653/// ## Description
654///
655/// The number of current pending requests for an open connection
656/// ## Metadata
657/// | | |
658/// |:-|:-
659/// | Instrument: | `updowncounter` |
660/// | Unit: | `{request}` |
661/// | Status: | `Development` |
662///
663/// ## Attributes
664/// | Name | Requirement |
665/// |:-|:- |
666/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
667#[cfg(feature = "semconv_experimental")]
668pub const DB_CLIENT_CONNECTION_PENDING_REQUESTS: &str = "db.client.connection.pending_requests";
669
670/// ## Description
671///
672/// The number of connection timeouts that have occurred trying to obtain a connection from the pool
673/// ## Metadata
674/// | | |
675/// |:-|:-
676/// | Instrument: | `counter` |
677/// | Unit: | `{timeout}` |
678/// | Status: | `Development` |
679///
680/// ## Attributes
681/// | Name | Requirement |
682/// |:-|:- |
683/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
684#[cfg(feature = "semconv_experimental")]
685pub const DB_CLIENT_CONNECTION_TIMEOUTS: &str = "db.client.connection.timeouts";
686
687/// ## Description
688///
689/// The time between borrowing a connection and returning it to the pool
690/// ## Metadata
691/// | | |
692/// |:-|:-
693/// | Instrument: | `histogram` |
694/// | Unit: | `s` |
695/// | Status: | `Development` |
696///
697/// ## Attributes
698/// | Name | Requirement |
699/// |:-|:- |
700/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
701#[cfg(feature = "semconv_experimental")]
702pub const DB_CLIENT_CONNECTION_USE_TIME: &str = "db.client.connection.use_time";
703
704/// ## Description
705///
706/// The time it took to obtain an open connection from the pool
707/// ## Metadata
708/// | | |
709/// |:-|:-
710/// | Instrument: | `histogram` |
711/// | Unit: | `s` |
712/// | Status: | `Development` |
713///
714/// ## Attributes
715/// | Name | Requirement |
716/// |:-|:- |
717/// | [`crate::attribute::DB_CLIENT_CONNECTION_POOL_NAME`] | `Required`
718#[cfg(feature = "semconv_experimental")]
719pub const DB_CLIENT_CONNECTION_WAIT_TIME: &str = "db.client.connection.wait_time";
720
721/// ## Description
722///
723/// Deprecated, use `db.client.connection.create_time` instead. Note: the unit also changed from `ms` to `s`
724/// ## Metadata
725/// | | |
726/// |:-|:-
727/// | Instrument: | `histogram` |
728/// | Unit: | `ms` |
729/// | Status: | `Development` |
730///
731/// ## Attributes
732/// | Name | Requirement |
733/// |:-|:- |
734/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
735#[cfg(feature = "semconv_experimental")]
736#[deprecated(
737 note = "{note: Replaced by `db.client.connection.create_time`. Note: the unit also changed from `ms` to `s`., reason: uncategorized}"
738)]
739pub const DB_CLIENT_CONNECTIONS_CREATE_TIME: &str = "db.client.connections.create_time";
740
741/// ## Description
742///
743/// Deprecated, use `db.client.connection.idle.max` instead
744/// ## Metadata
745/// | | |
746/// |:-|:-
747/// | Instrument: | `updowncounter` |
748/// | Unit: | `{connection}` |
749/// | Status: | `Development` |
750///
751/// ## Attributes
752/// | Name | Requirement |
753/// |:-|:- |
754/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
755#[cfg(feature = "semconv_experimental")]
756#[deprecated(note = "{note: Replaced by `db.client.connection.idle.max`., reason: uncategorized}")]
757pub const DB_CLIENT_CONNECTIONS_IDLE_MAX: &str = "db.client.connections.idle.max";
758
759/// ## Description
760///
761/// Deprecated, use `db.client.connection.idle.min` instead
762/// ## Metadata
763/// | | |
764/// |:-|:-
765/// | Instrument: | `updowncounter` |
766/// | Unit: | `{connection}` |
767/// | Status: | `Development` |
768///
769/// ## Attributes
770/// | Name | Requirement |
771/// |:-|:- |
772/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
773#[cfg(feature = "semconv_experimental")]
774#[deprecated(note = "{note: Replaced by `db.client.connection.idle.min`., reason: uncategorized}")]
775pub const DB_CLIENT_CONNECTIONS_IDLE_MIN: &str = "db.client.connections.idle.min";
776
777/// ## Description
778///
779/// Deprecated, use `db.client.connection.max` instead
780/// ## Metadata
781/// | | |
782/// |:-|:-
783/// | Instrument: | `updowncounter` |
784/// | Unit: | `{connection}` |
785/// | Status: | `Development` |
786///
787/// ## Attributes
788/// | Name | Requirement |
789/// |:-|:- |
790/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
791#[cfg(feature = "semconv_experimental")]
792#[deprecated(note = "{note: Replaced by `db.client.connection.max`., reason: uncategorized}")]
793pub const DB_CLIENT_CONNECTIONS_MAX: &str = "db.client.connections.max";
794
795/// ## Description
796///
797/// Deprecated, use `db.client.connection.pending_requests` instead
798/// ## Metadata
799/// | | |
800/// |:-|:-
801/// | Instrument: | `updowncounter` |
802/// | Unit: | `{request}` |
803/// | Status: | `Development` |
804///
805/// ## Attributes
806/// | Name | Requirement |
807/// |:-|:- |
808/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
809#[cfg(feature = "semconv_experimental")]
810#[deprecated(
811 note = "{note: Replaced by `db.client.connection.pending_requests`., reason: uncategorized}"
812)]
813pub const DB_CLIENT_CONNECTIONS_PENDING_REQUESTS: &str = "db.client.connections.pending_requests";
814
815/// ## Description
816///
817/// Deprecated, use `db.client.connection.timeouts` instead
818/// ## Metadata
819/// | | |
820/// |:-|:-
821/// | Instrument: | `counter` |
822/// | Unit: | `{timeout}` |
823/// | Status: | `Development` |
824///
825/// ## Attributes
826/// | Name | Requirement |
827/// |:-|:- |
828/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
829#[cfg(feature = "semconv_experimental")]
830#[deprecated(note = "{note: Replaced by `db.client.connection.timeouts`., reason: uncategorized}")]
831pub const DB_CLIENT_CONNECTIONS_TIMEOUTS: &str = "db.client.connections.timeouts";
832
833/// ## Description
834///
835/// Deprecated, use `db.client.connection.count` instead
836/// ## Metadata
837/// | | |
838/// |:-|:-
839/// | Instrument: | `updowncounter` |
840/// | Unit: | `{connection}` |
841/// | Status: | `Development` |
842///
843/// ## Attributes
844/// | Name | Requirement |
845/// |:-|:- |
846/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
847/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_STATE`] | `Required`
848#[cfg(feature = "semconv_experimental")]
849#[deprecated(note = "{note: Replaced by `db.client.connection.count`., reason: uncategorized}")]
850pub const DB_CLIENT_CONNECTIONS_USAGE: &str = "db.client.connections.usage";
851
852/// ## Description
853///
854/// Deprecated, use `db.client.connection.use_time` instead. Note: the unit also changed from `ms` to `s`
855/// ## Metadata
856/// | | |
857/// |:-|:-
858/// | Instrument: | `histogram` |
859/// | Unit: | `ms` |
860/// | Status: | `Development` |
861///
862/// ## Attributes
863/// | Name | Requirement |
864/// |:-|:- |
865/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
866#[cfg(feature = "semconv_experimental")]
867#[deprecated(
868 note = "{note: Replaced by `db.client.connection.use_time`. Note: the unit also changed from `ms` to `s`., reason: uncategorized}"
869)]
870pub const DB_CLIENT_CONNECTIONS_USE_TIME: &str = "db.client.connections.use_time";
871
872/// ## Description
873///
874/// Deprecated, use `db.client.connection.wait_time` instead. Note: the unit also changed from `ms` to `s`
875/// ## Metadata
876/// | | |
877/// |:-|:-
878/// | Instrument: | `histogram` |
879/// | Unit: | `ms` |
880/// | Status: | `Development` |
881///
882/// ## Attributes
883/// | Name | Requirement |
884/// |:-|:- |
885/// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required`
886#[cfg(feature = "semconv_experimental")]
887#[deprecated(
888 note = "{note: Replaced by `db.client.connection.wait_time`. Note: the unit also changed from `ms` to `s`., reason: uncategorized}"
889)]
890pub const DB_CLIENT_CONNECTIONS_WAIT_TIME: &str = "db.client.connections.wait_time";
891
892/// ## Description
893///
894/// Deprecated, use `azure.cosmosdb.client.active_instance.count` instead
895/// ## Metadata
896/// | | |
897/// |:-|:-
898/// | Instrument: | `updowncounter` |
899/// | Unit: | `{instance}` |
900/// | Status: | `Development` |
901///
902/// ## Attributes
903/// | Name | Requirement |
904/// |:-|:- |
905/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
906/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
907#[cfg(feature = "semconv_experimental")]
908#[deprecated(
909 note = "{note: Replaced by `azure.cosmosdb.client.active_instance.count`., reason: uncategorized}"
910)]
911pub const DB_CLIENT_COSMOSDB_ACTIVE_INSTANCE_COUNT: &str =
912 "db.client.cosmosdb.active_instance.count";
913
914/// ## Description
915///
916/// Deprecated, use `azure.cosmosdb.client.operation.request_charge` instead
917/// ## Metadata
918/// | | |
919/// |:-|:-
920/// | Instrument: | `histogram` |
921/// | Unit: | `{request_unit}` |
922/// | Status: | `Development` |
923///
924/// ## Attributes
925/// | Name | Requirement |
926/// |:-|:- |
927/// | [`crate::attribute::DB_COLLECTION_NAME`] | `Conditionally_required`: If available.
928/// | [`crate::attribute::DB_COSMOSDB_CONSISTENCY_LEVEL`] | `Conditionally_required`: If available.
929/// | [`crate::attribute::DB_COSMOSDB_REGIONS_CONTACTED`] | `{"recommended": "if available"}`
930/// | [`crate::attribute::DB_COSMOSDB_SUB_STATUS_CODE`] | `Conditionally_required`: when response was received and contained sub-code.
931/// | [`crate::attribute::DB_NAMESPACE`] | `Conditionally_required`: If available.
932/// | [`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.
933#[cfg(feature = "semconv_experimental")]
934#[deprecated(
935 note = "{note: Replaced by `azure.cosmosdb.client.operation.request_charge`., reason: uncategorized}"
936)]
937pub const DB_CLIENT_COSMOSDB_OPERATION_REQUEST_CHARGE: &str =
938 "db.client.cosmosdb.operation.request_charge";
939
940/// ## Description
941///
942/// Duration of database client operations.
943///
944/// ## Notes
945///
946/// Batch operations SHOULD be recorded as a single operation
947/// ## Metadata
948/// | | |
949/// |:-|:-
950/// | Instrument: | `histogram` |
951/// | Unit: | `s` |
952/// | Status: | `Stable` |
953///
954/// ## Attributes
955/// | Name | Requirement |
956/// |:-|:- |
957/// | [`crate::attribute::DB_COLLECTION_NAME`] | `Conditionally_required`: If readily available and if a database call is performed on a single collection.
958/// | [`crate::attribute::DB_NAMESPACE`] | `Conditionally_required`: If available.
959/// | [`crate::attribute::DB_OPERATION_NAME`] | `Conditionally_required`: If readily available and if there is a single operation name that describes the database call.
960/// | [`crate::attribute::DB_QUERY_SUMMARY`] | `{"recommended": "if available through instrumentation hooks or if the instrumentation supports generating a query summary."}`
961/// | [`crate::attribute::DB_QUERY_TEXT`] | `Opt_in`
962/// | [`crate::attribute::DB_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If the operation failed and status code is available.
963/// | [`crate::attribute::DB_STORED_PROCEDURE_NAME`] | `{"recommended": "if operation applies to a specific stored procedure."}`
964/// | [`crate::attribute::DB_SYSTEM_NAME`] | `Required`
965/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the operation failed.
966/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `{"recommended": "if applicable for this database system."}`
967/// | [`crate::attribute::NETWORK_PEER_PORT`] | `{"recommended": "if and only if `network.peer.address` is set."}`
968/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
969/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
970pub const DB_CLIENT_OPERATION_DURATION: &str = "db.client.operation.duration";
971
972/// ## Description
973///
974/// The actual number of records returned by the database operation
975/// ## Metadata
976/// | | |
977/// |:-|:-
978/// | Instrument: | `histogram` |
979/// | Unit: | `{row}` |
980/// | Status: | `Development` |
981///
982/// ## Attributes
983/// | Name | Requirement |
984/// |:-|:- |
985/// | [`crate::attribute::DB_COLLECTION_NAME`] | `Conditionally_required`: If readily available and if a database call is performed on a single collection.
986/// | [`crate::attribute::DB_NAMESPACE`] | `Conditionally_required`: If available.
987/// | [`crate::attribute::DB_OPERATION_NAME`] | `Conditionally_required`: If readily available and if there is a single operation name that describes the database call.
988/// | [`crate::attribute::DB_QUERY_SUMMARY`] | `{"recommended": "if available through instrumentation hooks or if the instrumentation supports generating a query summary."}`
989/// | [`crate::attribute::DB_QUERY_TEXT`] | `Opt_in`
990/// | [`crate::attribute::DB_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If the operation failed and status code is available.
991/// | [`crate::attribute::DB_SYSTEM_NAME`] | `Required`
992/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the operation failed.
993/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `{"recommended": "if applicable for this database system."}`
994/// | [`crate::attribute::NETWORK_PEER_PORT`] | `{"recommended": "if and only if `network.peer.address` is set."}`
995/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
996/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set.
997#[cfg(feature = "semconv_experimental")]
998pub const DB_CLIENT_RESPONSE_RETURNED_ROWS: &str = "db.client.response.returned_rows";
999
1000/// ## Description
1001///
1002/// Measures the time taken to perform a DNS lookup
1003/// ## Metadata
1004/// | | |
1005/// |:-|:-
1006/// | Instrument: | `histogram` |
1007/// | Unit: | `s` |
1008/// | Status: | `Development` |
1009///
1010/// ## Attributes
1011/// | Name | Requirement |
1012/// |:-|:- |
1013/// | [`crate::attribute::DNS_QUESTION_NAME`] | `Required`
1014/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred.
1015#[cfg(feature = "semconv_experimental")]
1016pub const DNS_LOOKUP_DURATION: &str = "dns.lookup.duration";
1017
1018/// ## Description
1019///
1020/// The number of .NET assemblies that are currently loaded.
1021///
1022/// ## Notes
1023///
1024/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1025/// This metric reports the same values as calling [`AppDomain.CurrentDomain.GetAssemblies().Length`](https://learn.microsoft.com/dotnet/api/system.appdomain.getassemblies)
1026/// ## Metadata
1027/// | | |
1028/// |:-|:-
1029/// | Instrument: | `updowncounter` |
1030/// | Unit: | `{assembly}` |
1031/// | Status: | `Stable` |
1032pub const DOTNET_ASSEMBLY_COUNT: &str = "dotnet.assembly.count";
1033
1034/// ## Description
1035///
1036/// The number of exceptions that have been thrown in managed code.
1037///
1038/// ## Notes
1039///
1040/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1041/// This metric reports the same values as counting calls to [`AppDomain.CurrentDomain.FirstChanceException`](https://learn.microsoft.com/dotnet/api/system.appdomain.firstchanceexception)
1042/// ## Metadata
1043/// | | |
1044/// |:-|:-
1045/// | Instrument: | `counter` |
1046/// | Unit: | `{exception}` |
1047/// | Status: | `Stable` |
1048///
1049/// ## Attributes
1050/// | Name | Requirement |
1051/// |:-|:- |
1052/// | [`crate::attribute::ERROR_TYPE`] | `Required`
1053pub const DOTNET_EXCEPTIONS: &str = "dotnet.exceptions";
1054
1055/// ## Description
1056///
1057/// The number of garbage collections that have occurred since the process has started.
1058///
1059/// ## Notes
1060///
1061/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1062/// This metric uses the [`GC.CollectionCount(int generation)`](https://learn.microsoft.com/dotnet/api/system.gc.collectioncount) API to calculate exclusive collections per generation
1063/// ## Metadata
1064/// | | |
1065/// |:-|:-
1066/// | Instrument: | `counter` |
1067/// | Unit: | `{collection}` |
1068/// | Status: | `Stable` |
1069///
1070/// ## Attributes
1071/// | Name | Requirement |
1072/// |:-|:- |
1073/// | [`crate::attribute::DOTNET_GC_HEAP_GENERATION`] | `Required`
1074pub const DOTNET_GC_COLLECTIONS: &str = "dotnet.gc.collections";
1075
1076/// ## Description
1077///
1078/// 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.
1079///
1080/// ## Notes
1081///
1082/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1083/// This metric reports the same values as calling [`GC.GetTotalAllocatedBytes()`](https://learn.microsoft.com/dotnet/api/system.gc.gettotalallocatedbytes)
1084/// ## Metadata
1085/// | | |
1086/// |:-|:-
1087/// | Instrument: | `counter` |
1088/// | Unit: | `By` |
1089/// | Status: | `Stable` |
1090pub const DOTNET_GC_HEAP_TOTAL_ALLOCATED: &str = "dotnet.gc.heap.total_allocated";
1091
1092/// ## Description
1093///
1094/// The heap fragmentation, as observed during the latest garbage collection.
1095///
1096/// ## Notes
1097///
1098/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1099/// This metric reports the same values as calling [`GC.GetGCMemoryInfo().GenerationInfo.FragmentationAfterBytes`](https://learn.microsoft.com/dotnet/api/system.gcgenerationinfo.fragmentationafterbytes)
1100/// ## Metadata
1101/// | | |
1102/// |:-|:-
1103/// | Instrument: | `updowncounter` |
1104/// | Unit: | `By` |
1105/// | Status: | `Stable` |
1106///
1107/// ## Attributes
1108/// | Name | Requirement |
1109/// |:-|:- |
1110/// | [`crate::attribute::DOTNET_GC_HEAP_GENERATION`] | `Required`
1111pub const DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE: &str =
1112 "dotnet.gc.last_collection.heap.fragmentation.size";
1113
1114/// ## Description
1115///
1116/// The managed GC heap size (including fragmentation), as observed during the latest garbage collection.
1117///
1118/// ## Notes
1119///
1120/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1121/// This metric reports the same values as calling [`GC.GetGCMemoryInfo().GenerationInfo.SizeAfterBytes`](https://learn.microsoft.com/dotnet/api/system.gcgenerationinfo.sizeafterbytes)
1122/// ## Metadata
1123/// | | |
1124/// |:-|:-
1125/// | Instrument: | `updowncounter` |
1126/// | Unit: | `By` |
1127/// | Status: | `Stable` |
1128///
1129/// ## Attributes
1130/// | Name | Requirement |
1131/// |:-|:- |
1132/// | [`crate::attribute::DOTNET_GC_HEAP_GENERATION`] | `Required`
1133pub const DOTNET_GC_LAST_COLLECTION_HEAP_SIZE: &str = "dotnet.gc.last_collection.heap.size";
1134
1135/// ## Description
1136///
1137/// The amount of committed virtual memory in use by the .NET GC, as observed during the latest garbage collection.
1138///
1139/// ## Notes
1140///
1141/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1142/// 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
1143/// ## Metadata
1144/// | | |
1145/// |:-|:-
1146/// | Instrument: | `updowncounter` |
1147/// | Unit: | `By` |
1148/// | Status: | `Stable` |
1149pub const DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE: &str =
1150 "dotnet.gc.last_collection.memory.committed_size";
1151
1152/// ## Description
1153///
1154/// The total amount of time paused in GC since the process has started.
1155///
1156/// ## Notes
1157///
1158/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1159/// This metric reports the same values as calling [`GC.GetTotalPauseDuration()`](https://learn.microsoft.com/dotnet/api/system.gc.gettotalpauseduration)
1160/// ## Metadata
1161/// | | |
1162/// |:-|:-
1163/// | Instrument: | `counter` |
1164/// | Unit: | `s` |
1165/// | Status: | `Stable` |
1166pub const DOTNET_GC_PAUSE_TIME: &str = "dotnet.gc.pause.time";
1167
1168/// ## Description
1169///
1170/// The amount of time the JIT compiler has spent compiling methods since the process has started.
1171///
1172/// ## Notes
1173///
1174/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1175/// This metric reports the same values as calling [`JitInfo.GetCompilationTime()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompilationtime)
1176/// ## Metadata
1177/// | | |
1178/// |:-|:-
1179/// | Instrument: | `counter` |
1180/// | Unit: | `s` |
1181/// | Status: | `Stable` |
1182pub const DOTNET_JIT_COMPILATION_TIME: &str = "dotnet.jit.compilation.time";
1183
1184/// ## Description
1185///
1186/// Count of bytes of intermediate language that have been compiled since the process has started.
1187///
1188/// ## Notes
1189///
1190/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1191/// This metric reports the same values as calling [`JitInfo.GetCompiledILBytes()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompiledilbytes)
1192/// ## Metadata
1193/// | | |
1194/// |:-|:-
1195/// | Instrument: | `counter` |
1196/// | Unit: | `By` |
1197/// | Status: | `Stable` |
1198pub const DOTNET_JIT_COMPILED_IL_SIZE: &str = "dotnet.jit.compiled_il.size";
1199
1200/// ## Description
1201///
1202/// The number of times the JIT compiler (re)compiled methods since the process has started.
1203///
1204/// ## Notes
1205///
1206/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1207/// This metric reports the same values as calling [`JitInfo.GetCompiledMethodCount()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompiledmethodcount)
1208/// ## Metadata
1209/// | | |
1210/// |:-|:-
1211/// | Instrument: | `counter` |
1212/// | Unit: | `{method}` |
1213/// | Status: | `Stable` |
1214pub const DOTNET_JIT_COMPILED_METHODS: &str = "dotnet.jit.compiled_methods";
1215
1216/// ## Description
1217///
1218/// The number of times there was contention when trying to acquire a monitor lock since the process has started.
1219///
1220/// ## Notes
1221///
1222/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1223/// This metric reports the same values as calling [`Monitor.LockContentionCount`](https://learn.microsoft.com/dotnet/api/system.threading.monitor.lockcontentioncount)
1224/// ## Metadata
1225/// | | |
1226/// |:-|:-
1227/// | Instrument: | `counter` |
1228/// | Unit: | `{contention}` |
1229/// | Status: | `Stable` |
1230pub const DOTNET_MONITOR_LOCK_CONTENTIONS: &str = "dotnet.monitor.lock_contentions";
1231
1232/// ## Description
1233///
1234/// The number of processors available to the process.
1235///
1236/// ## Notes
1237///
1238/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1239/// This metric reports the same values as accessing [`Environment.ProcessorCount`](https://learn.microsoft.com/dotnet/api/system.environment.processorcount)
1240/// ## Metadata
1241/// | | |
1242/// |:-|:-
1243/// | Instrument: | `updowncounter` |
1244/// | Unit: | `{cpu}` |
1245/// | Status: | `Stable` |
1246pub const DOTNET_PROCESS_CPU_COUNT: &str = "dotnet.process.cpu.count";
1247
1248/// ## Description
1249///
1250/// CPU time used by the process.
1251///
1252/// ## Notes
1253///
1254/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1255/// 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)
1256/// ## Metadata
1257/// | | |
1258/// |:-|:-
1259/// | Instrument: | `counter` |
1260/// | Unit: | `s` |
1261/// | Status: | `Stable` |
1262///
1263/// ## Attributes
1264/// | Name | Requirement |
1265/// |:-|:- |
1266/// | [`crate::attribute::CPU_MODE`] | `Required`
1267pub const DOTNET_PROCESS_CPU_TIME: &str = "dotnet.process.cpu.time";
1268
1269/// ## Description
1270///
1271/// The number of bytes of physical memory mapped to the process context.
1272///
1273/// ## Notes
1274///
1275/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1276/// This metric reports the same values as calling [`Environment.WorkingSet`](https://learn.microsoft.com/dotnet/api/system.environment.workingset)
1277/// ## Metadata
1278/// | | |
1279/// |:-|:-
1280/// | Instrument: | `updowncounter` |
1281/// | Unit: | `By` |
1282/// | Status: | `Stable` |
1283pub const DOTNET_PROCESS_MEMORY_WORKING_SET: &str = "dotnet.process.memory.working_set";
1284
1285/// ## Description
1286///
1287/// The number of work items that are currently queued to be processed by the thread pool.
1288///
1289/// ## Notes
1290///
1291/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1292/// This metric reports the same values as calling [`ThreadPool.PendingWorkItemCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.pendingworkitemcount)
1293/// ## Metadata
1294/// | | |
1295/// |:-|:-
1296/// | Instrument: | `updowncounter` |
1297/// | Unit: | `{work_item}` |
1298/// | Status: | `Stable` |
1299pub const DOTNET_THREAD_POOL_QUEUE_LENGTH: &str = "dotnet.thread_pool.queue.length";
1300
1301/// ## Description
1302///
1303/// The number of thread pool threads that currently exist.
1304///
1305/// ## Notes
1306///
1307/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1308/// This metric reports the same values as calling [`ThreadPool.ThreadCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.threadcount)
1309/// ## Metadata
1310/// | | |
1311/// |:-|:-
1312/// | Instrument: | `updowncounter` |
1313/// | Unit: | `{thread}` |
1314/// | Status: | `Stable` |
1315pub const DOTNET_THREAD_POOL_THREAD_COUNT: &str = "dotnet.thread_pool.thread.count";
1316
1317/// ## Description
1318///
1319/// The number of work items that the thread pool has completed since the process has started.
1320///
1321/// ## Notes
1322///
1323/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1324/// This metric reports the same values as calling [`ThreadPool.CompletedWorkItemCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.completedworkitemcount)
1325/// ## Metadata
1326/// | | |
1327/// |:-|:-
1328/// | Instrument: | `counter` |
1329/// | Unit: | `{work_item}` |
1330/// | Status: | `Stable` |
1331pub const DOTNET_THREAD_POOL_WORK_ITEM_COUNT: &str = "dotnet.thread_pool.work_item.count";
1332
1333/// ## Description
1334///
1335/// The number of timer instances that are currently active.
1336///
1337/// ## Notes
1338///
1339/// Meter name: `System.Runtime`; Added in: .NET 9.0.
1340/// This metric reports the same values as calling [`Timer.ActiveCount`](https://learn.microsoft.com/dotnet/api/system.threading.timer.activecount)
1341/// ## Metadata
1342/// | | |
1343/// |:-|:-
1344/// | Instrument: | `updowncounter` |
1345/// | Unit: | `{timer}` |
1346/// | Status: | `Stable` |
1347pub const DOTNET_TIMER_COUNT: &str = "dotnet.timer.count";
1348
1349/// ## Description
1350///
1351/// Number of invocation cold starts
1352/// ## Metadata
1353/// | | |
1354/// |:-|:-
1355/// | Instrument: | `counter` |
1356/// | Unit: | `{coldstart}` |
1357/// | Status: | `Development` |
1358///
1359/// ## Attributes
1360/// | Name | Requirement |
1361/// |:-|:- |
1362/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1363#[cfg(feature = "semconv_experimental")]
1364pub const FAAS_COLDSTARTS: &str = "faas.coldstarts";
1365
1366/// ## Description
1367///
1368/// Distribution of CPU usage per invocation
1369/// ## Metadata
1370/// | | |
1371/// |:-|:-
1372/// | Instrument: | `histogram` |
1373/// | Unit: | `s` |
1374/// | Status: | `Development` |
1375///
1376/// ## Attributes
1377/// | Name | Requirement |
1378/// |:-|:- |
1379/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1380#[cfg(feature = "semconv_experimental")]
1381pub const FAAS_CPU_USAGE: &str = "faas.cpu_usage";
1382
1383/// ## Description
1384///
1385/// Number of invocation errors
1386/// ## Metadata
1387/// | | |
1388/// |:-|:-
1389/// | Instrument: | `counter` |
1390/// | Unit: | `{error}` |
1391/// | Status: | `Development` |
1392///
1393/// ## Attributes
1394/// | Name | Requirement |
1395/// |:-|:- |
1396/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1397#[cfg(feature = "semconv_experimental")]
1398pub const FAAS_ERRORS: &str = "faas.errors";
1399
1400/// ## Description
1401///
1402/// Measures the duration of the function's initialization, such as a cold start
1403/// ## Metadata
1404/// | | |
1405/// |:-|:-
1406/// | Instrument: | `histogram` |
1407/// | Unit: | `s` |
1408/// | Status: | `Development` |
1409///
1410/// ## Attributes
1411/// | Name | Requirement |
1412/// |:-|:- |
1413/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1414#[cfg(feature = "semconv_experimental")]
1415pub const FAAS_INIT_DURATION: &str = "faas.init_duration";
1416
1417/// ## Description
1418///
1419/// Number of successful invocations
1420/// ## Metadata
1421/// | | |
1422/// |:-|:-
1423/// | Instrument: | `counter` |
1424/// | Unit: | `{invocation}` |
1425/// | Status: | `Development` |
1426///
1427/// ## Attributes
1428/// | Name | Requirement |
1429/// |:-|:- |
1430/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1431#[cfg(feature = "semconv_experimental")]
1432pub const FAAS_INVOCATIONS: &str = "faas.invocations";
1433
1434/// ## Description
1435///
1436/// Measures the duration of the function's logic execution
1437/// ## Metadata
1438/// | | |
1439/// |:-|:-
1440/// | Instrument: | `histogram` |
1441/// | Unit: | `s` |
1442/// | Status: | `Development` |
1443///
1444/// ## Attributes
1445/// | Name | Requirement |
1446/// |:-|:- |
1447/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1448#[cfg(feature = "semconv_experimental")]
1449pub const FAAS_INVOKE_DURATION: &str = "faas.invoke_duration";
1450
1451/// ## Description
1452///
1453/// Distribution of max memory usage per invocation
1454/// ## Metadata
1455/// | | |
1456/// |:-|:-
1457/// | Instrument: | `histogram` |
1458/// | Unit: | `By` |
1459/// | Status: | `Development` |
1460///
1461/// ## Attributes
1462/// | Name | Requirement |
1463/// |:-|:- |
1464/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1465#[cfg(feature = "semconv_experimental")]
1466pub const FAAS_MEM_USAGE: &str = "faas.mem_usage";
1467
1468/// ## Description
1469///
1470/// Distribution of net I/O usage per invocation
1471/// ## Metadata
1472/// | | |
1473/// |:-|:-
1474/// | Instrument: | `histogram` |
1475/// | Unit: | `By` |
1476/// | Status: | `Development` |
1477///
1478/// ## Attributes
1479/// | Name | Requirement |
1480/// |:-|:- |
1481/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1482#[cfg(feature = "semconv_experimental")]
1483pub const FAAS_NET_IO: &str = "faas.net_io";
1484
1485/// ## Description
1486///
1487/// Number of invocation timeouts
1488/// ## Metadata
1489/// | | |
1490/// |:-|:-
1491/// | Instrument: | `counter` |
1492/// | Unit: | `{timeout}` |
1493/// | Status: | `Development` |
1494///
1495/// ## Attributes
1496/// | Name | Requirement |
1497/// |:-|:- |
1498/// | [`crate::attribute::FAAS_TRIGGER`] | `Recommended`
1499#[cfg(feature = "semconv_experimental")]
1500pub const FAAS_TIMEOUTS: &str = "faas.timeouts";
1501
1502/// ## Description
1503///
1504/// GenAI operation duration
1505/// ## Metadata
1506/// | | |
1507/// |:-|:-
1508/// | Instrument: | `histogram` |
1509/// | Unit: | `s` |
1510/// | Status: | `Development` |
1511///
1512/// ## Attributes
1513/// | Name | Requirement |
1514/// |:-|:- |
1515/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if the operation ended in an error
1516/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1517/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1518/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1519/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1520/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1521/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1522#[cfg(feature = "semconv_experimental")]
1523pub const GEN_AI_CLIENT_OPERATION_DURATION: &str = "gen_ai.client.operation.duration";
1524
1525/// ## Description
1526///
1527/// Measures number of input and output tokens used
1528/// ## Metadata
1529/// | | |
1530/// |:-|:-
1531/// | Instrument: | `histogram` |
1532/// | Unit: | `{token}` |
1533/// | Status: | `Development` |
1534///
1535/// ## Attributes
1536/// | Name | Requirement |
1537/// |:-|:- |
1538/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1539/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1540/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1541/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1542/// | [`crate::attribute::GEN_AI_TOKEN_TYPE`] | `Required`
1543/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1544/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1545#[cfg(feature = "semconv_experimental")]
1546pub const GEN_AI_CLIENT_TOKEN_USAGE: &str = "gen_ai.client.token.usage";
1547
1548/// ## Description
1549///
1550/// Generative AI server request duration such as time-to-last byte or last output token
1551/// ## Metadata
1552/// | | |
1553/// |:-|:-
1554/// | Instrument: | `histogram` |
1555/// | Unit: | `s` |
1556/// | Status: | `Development` |
1557///
1558/// ## Attributes
1559/// | Name | Requirement |
1560/// |:-|:- |
1561/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if the operation ended in an error
1562/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1563/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1564/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1565/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1566/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1567/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1568#[cfg(feature = "semconv_experimental")]
1569pub const GEN_AI_SERVER_REQUEST_DURATION: &str = "gen_ai.server.request.duration";
1570
1571/// ## Description
1572///
1573/// Time per output token generated after the first token for successful responses
1574/// ## Metadata
1575/// | | |
1576/// |:-|:-
1577/// | Instrument: | `histogram` |
1578/// | Unit: | `s` |
1579/// | Status: | `Development` |
1580///
1581/// ## Attributes
1582/// | Name | Requirement |
1583/// |:-|:- |
1584/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1585/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1586/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1587/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1588/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1589/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1590#[cfg(feature = "semconv_experimental")]
1591pub const GEN_AI_SERVER_TIME_PER_OUTPUT_TOKEN: &str = "gen_ai.server.time_per_output_token";
1592
1593/// ## Description
1594///
1595/// Time to generate first token for successful responses
1596/// ## Metadata
1597/// | | |
1598/// |:-|:-
1599/// | Instrument: | `histogram` |
1600/// | Unit: | `s` |
1601/// | Status: | `Development` |
1602///
1603/// ## Attributes
1604/// | Name | Requirement |
1605/// |:-|:- |
1606/// | [`crate::attribute::GEN_AI_OPERATION_NAME`] | `Required`
1607/// | [`crate::attribute::GEN_AI_REQUEST_MODEL`] | `Conditionally_required`: If available.
1608/// | [`crate::attribute::GEN_AI_RESPONSE_MODEL`] | `Recommended`
1609/// | [`crate::attribute::GEN_AI_SYSTEM`] | `Required`
1610/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
1611/// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If `server.address` is set.
1612#[cfg(feature = "semconv_experimental")]
1613pub const GEN_AI_SERVER_TIME_TO_FIRST_TOKEN: &str = "gen_ai.server.time_to_first_token";
1614
1615/// ## Description
1616///
1617/// Heap size target percentage configured by the user, otherwise 100.
1618///
1619/// ## Notes
1620///
1621/// The value range is \\[0.0,100.0\\]. Computed from `/gc/gogc:percent`
1622/// ## Metadata
1623/// | | |
1624/// |:-|:-
1625/// | Instrument: | `updowncounter` |
1626/// | Unit: | `%` |
1627/// | Status: | `Development` |
1628#[cfg(feature = "semconv_experimental")]
1629pub const GO_CONFIG_GOGC: &str = "go.config.gogc";
1630
1631/// ## Description
1632///
1633/// Count of live goroutines.
1634///
1635/// ## Notes
1636///
1637/// Computed from `/sched/goroutines:goroutines`
1638/// ## Metadata
1639/// | | |
1640/// |:-|:-
1641/// | Instrument: | `updowncounter` |
1642/// | Unit: | `{goroutine}` |
1643/// | Status: | `Development` |
1644#[cfg(feature = "semconv_experimental")]
1645pub const GO_GOROUTINE_COUNT: &str = "go.goroutine.count";
1646
1647/// ## Description
1648///
1649/// Memory allocated to the heap by the application.
1650///
1651/// ## Notes
1652///
1653/// Computed from `/gc/heap/allocs:bytes`
1654/// ## Metadata
1655/// | | |
1656/// |:-|:-
1657/// | Instrument: | `counter` |
1658/// | Unit: | `By` |
1659/// | Status: | `Development` |
1660#[cfg(feature = "semconv_experimental")]
1661pub const GO_MEMORY_ALLOCATED: &str = "go.memory.allocated";
1662
1663/// ## Description
1664///
1665/// Count of allocations to the heap by the application.
1666///
1667/// ## Notes
1668///
1669/// Computed from `/gc/heap/allocs:objects`
1670/// ## Metadata
1671/// | | |
1672/// |:-|:-
1673/// | Instrument: | `counter` |
1674/// | Unit: | `{allocation}` |
1675/// | Status: | `Development` |
1676#[cfg(feature = "semconv_experimental")]
1677pub const GO_MEMORY_ALLOCATIONS: &str = "go.memory.allocations";
1678
1679/// ## Description
1680///
1681/// Heap size target for the end of the GC cycle.
1682///
1683/// ## Notes
1684///
1685/// Computed from `/gc/heap/goal:bytes`
1686/// ## Metadata
1687/// | | |
1688/// |:-|:-
1689/// | Instrument: | `updowncounter` |
1690/// | Unit: | `By` |
1691/// | Status: | `Development` |
1692#[cfg(feature = "semconv_experimental")]
1693pub const GO_MEMORY_GC_GOAL: &str = "go.memory.gc.goal";
1694
1695/// ## Description
1696///
1697/// Go runtime memory limit configured by the user, if a limit exists.
1698///
1699/// ## Notes
1700///
1701/// Computed from `/gc/gomemlimit:bytes`. This metric is excluded if the limit obtained from the Go runtime is math.MaxInt64
1702/// ## Metadata
1703/// | | |
1704/// |:-|:-
1705/// | Instrument: | `updowncounter` |
1706/// | Unit: | `By` |
1707/// | Status: | `Development` |
1708#[cfg(feature = "semconv_experimental")]
1709pub const GO_MEMORY_LIMIT: &str = "go.memory.limit";
1710
1711/// ## Description
1712///
1713/// Memory used by the Go runtime.
1714///
1715/// ## Notes
1716///
1717/// Computed from `(/memory/classes/total:bytes - /memory/classes/heap/released:bytes)`
1718/// ## Metadata
1719/// | | |
1720/// |:-|:-
1721/// | Instrument: | `updowncounter` |
1722/// | Unit: | `By` |
1723/// | Status: | `Development` |
1724///
1725/// ## Attributes
1726/// | Name | Requirement |
1727/// |:-|:- |
1728/// | [`crate::attribute::GO_MEMORY_TYPE`] | `Recommended`
1729#[cfg(feature = "semconv_experimental")]
1730pub const GO_MEMORY_USED: &str = "go.memory.used";
1731
1732/// ## Description
1733///
1734/// The number of OS threads that can execute user-level Go code simultaneously.
1735///
1736/// ## Notes
1737///
1738/// Computed from `/sched/gomaxprocs:threads`
1739/// ## Metadata
1740/// | | |
1741/// |:-|:-
1742/// | Instrument: | `updowncounter` |
1743/// | Unit: | `{thread}` |
1744/// | Status: | `Development` |
1745#[cfg(feature = "semconv_experimental")]
1746pub const GO_PROCESSOR_LIMIT: &str = "go.processor.limit";
1747
1748/// ## Description
1749///
1750/// The time goroutines have spent in the scheduler in a runnable state before actually running.
1751///
1752/// ## Notes
1753///
1754/// Computed from `/sched/latencies:seconds`. Bucket boundaries are provided by the runtime, and are subject to change
1755/// ## Metadata
1756/// | | |
1757/// |:-|:-
1758/// | Instrument: | `histogram` |
1759/// | Unit: | `s` |
1760/// | Status: | `Development` |
1761#[cfg(feature = "semconv_experimental")]
1762pub const GO_SCHEDULE_DURATION: &str = "go.schedule.duration";
1763
1764/// ## Description
1765///
1766/// Number of active HTTP requests
1767/// ## Metadata
1768/// | | |
1769/// |:-|:-
1770/// | Instrument: | `updowncounter` |
1771/// | Unit: | `{request}` |
1772/// | Status: | `Development` |
1773///
1774/// ## Attributes
1775/// | Name | Requirement |
1776/// |:-|:- |
1777/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Recommended`
1778/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1779/// | [`crate::attribute::SERVER_PORT`] | `Required`
1780/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1781/// | [`crate::attribute::URL_TEMPLATE`] | `Conditionally_required`: If available.
1782#[cfg(feature = "semconv_experimental")]
1783pub const HTTP_CLIENT_ACTIVE_REQUESTS: &str = "http.client.active_requests";
1784
1785/// ## Description
1786///
1787/// The duration of the successfully established outbound HTTP connections
1788/// ## Metadata
1789/// | | |
1790/// |:-|:-
1791/// | Instrument: | `histogram` |
1792/// | Unit: | `s` |
1793/// | Status: | `Development` |
1794///
1795/// ## Attributes
1796/// | Name | Requirement |
1797/// |:-|:- |
1798/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `Recommended`
1799/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1800/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1801/// | [`crate::attribute::SERVER_PORT`] | `Required`
1802/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1803#[cfg(feature = "semconv_experimental")]
1804pub const HTTP_CLIENT_CONNECTION_DURATION: &str = "http.client.connection.duration";
1805
1806/// ## Description
1807///
1808/// Number of outbound HTTP connections that are currently active or idle on the client
1809/// ## Metadata
1810/// | | |
1811/// |:-|:-
1812/// | Instrument: | `updowncounter` |
1813/// | Unit: | `{connection}` |
1814/// | Status: | `Development` |
1815///
1816/// ## Attributes
1817/// | Name | Requirement |
1818/// |:-|:- |
1819/// | [`crate::attribute::HTTP_CONNECTION_STATE`] | `Required`
1820/// | [`crate::attribute::NETWORK_PEER_ADDRESS`] | `Recommended`
1821/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1822/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1823/// | [`crate::attribute::SERVER_PORT`] | `Required`
1824/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1825#[cfg(feature = "semconv_experimental")]
1826pub const HTTP_CLIENT_OPEN_CONNECTIONS: &str = "http.client.open_connections";
1827
1828/// ## Description
1829///
1830/// Size of HTTP client request bodies.
1831///
1832/// ## Notes
1833///
1834/// 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
1835/// ## Metadata
1836/// | | |
1837/// |:-|:-
1838/// | Instrument: | `histogram` |
1839/// | Unit: | `By` |
1840/// | Status: | `Development` |
1841///
1842/// ## Attributes
1843/// | Name | Requirement |
1844/// |:-|:- |
1845/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1846/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1847/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1848/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1849/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1850/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1851/// | [`crate::attribute::SERVER_PORT`] | `Required`
1852/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1853/// | [`crate::attribute::URL_TEMPLATE`] | `Conditionally_required`: If available.
1854#[cfg(feature = "semconv_experimental")]
1855pub const HTTP_CLIENT_REQUEST_BODY_SIZE: &str = "http.client.request.body.size";
1856
1857/// ## Description
1858///
1859/// Duration of HTTP client requests
1860/// ## Metadata
1861/// | | |
1862/// |:-|:-
1863/// | Instrument: | `histogram` |
1864/// | Unit: | `s` |
1865/// | Status: | `Stable` |
1866///
1867/// ## Attributes
1868/// | Name | Requirement |
1869/// |:-|:- |
1870/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1871/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1872/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1873/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1874/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1875/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1876/// | [`crate::attribute::SERVER_PORT`] | `Required`
1877/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1878/// | [`crate::attribute::URL_TEMPLATE`] | `Opt_in`
1879pub const HTTP_CLIENT_REQUEST_DURATION: &str = "http.client.request.duration";
1880
1881/// ## Description
1882///
1883/// Size of HTTP client response bodies.
1884///
1885/// ## Notes
1886///
1887/// 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
1888/// ## Metadata
1889/// | | |
1890/// |:-|:-
1891/// | Instrument: | `histogram` |
1892/// | Unit: | `By` |
1893/// | Status: | `Development` |
1894///
1895/// ## Attributes
1896/// | Name | Requirement |
1897/// |:-|:- |
1898/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1899/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1900/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1901/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1902/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1903/// | [`crate::attribute::SERVER_ADDRESS`] | `Required`
1904/// | [`crate::attribute::SERVER_PORT`] | `Required`
1905/// | [`crate::attribute::URL_SCHEME`] | `Opt_in`
1906/// | [`crate::attribute::URL_TEMPLATE`] | `Conditionally_required`: If available.
1907#[cfg(feature = "semconv_experimental")]
1908pub const HTTP_CLIENT_RESPONSE_BODY_SIZE: &str = "http.client.response.body.size";
1909
1910/// ## Description
1911///
1912/// Number of active HTTP server requests
1913/// ## Metadata
1914/// | | |
1915/// |:-|:-
1916/// | Instrument: | `updowncounter` |
1917/// | Unit: | `{request}` |
1918/// | Status: | `Development` |
1919///
1920/// ## Attributes
1921/// | Name | Requirement |
1922/// |:-|:- |
1923/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1924/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
1925/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
1926/// | [`crate::attribute::URL_SCHEME`] | `Required`
1927#[cfg(feature = "semconv_experimental")]
1928pub const HTTP_SERVER_ACTIVE_REQUESTS: &str = "http.server.active_requests";
1929
1930/// ## Description
1931///
1932/// Size of HTTP server request bodies.
1933///
1934/// ## Notes
1935///
1936/// 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
1937/// ## Metadata
1938/// | | |
1939/// |:-|:-
1940/// | Instrument: | `histogram` |
1941/// | Unit: | `By` |
1942/// | Status: | `Development` |
1943///
1944/// ## Attributes
1945/// | Name | Requirement |
1946/// |:-|:- |
1947/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1948/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1949/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1950/// | [`crate::attribute::HTTP_ROUTE`] | `Conditionally_required`: If and only if it's available
1951/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1952/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1953/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
1954/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
1955/// | [`crate::attribute::URL_SCHEME`] | `Required`
1956/// | [`crate::attribute::USER_AGENT_SYNTHETIC_TYPE`] | `Opt_in`
1957#[cfg(feature = "semconv_experimental")]
1958pub const HTTP_SERVER_REQUEST_BODY_SIZE: &str = "http.server.request.body.size";
1959
1960/// ## Description
1961///
1962/// Duration of HTTP server requests
1963/// ## Metadata
1964/// | | |
1965/// |:-|:-
1966/// | Instrument: | `histogram` |
1967/// | Unit: | `s` |
1968/// | Status: | `Stable` |
1969///
1970/// ## Attributes
1971/// | Name | Requirement |
1972/// |:-|:- |
1973/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
1974/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
1975/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
1976/// | [`crate::attribute::HTTP_ROUTE`] | `Conditionally_required`: If and only if it's available
1977/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
1978/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
1979/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
1980/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
1981/// | [`crate::attribute::URL_SCHEME`] | `Required`
1982/// | [`crate::attribute::USER_AGENT_SYNTHETIC_TYPE`] | `Opt_in`
1983pub const HTTP_SERVER_REQUEST_DURATION: &str = "http.server.request.duration";
1984
1985/// ## Description
1986///
1987/// Size of HTTP server response bodies.
1988///
1989/// ## Notes
1990///
1991/// 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
1992/// ## Metadata
1993/// | | |
1994/// |:-|:-
1995/// | Instrument: | `histogram` |
1996/// | Unit: | `By` |
1997/// | Status: | `Development` |
1998///
1999/// ## Attributes
2000/// | Name | Requirement |
2001/// |:-|:- |
2002/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If request has ended with an error.
2003/// | [`crate::attribute::HTTP_REQUEST_METHOD`] | `Required`
2004/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `Conditionally_required`: If and only if one was received/sent.
2005/// | [`crate::attribute::HTTP_ROUTE`] | `Conditionally_required`: If and only if it's available
2006/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Conditionally_required`: If not `http` and `network.protocol.version` is set.
2007/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
2008/// | [`crate::attribute::SERVER_ADDRESS`] | `Opt_in`
2009/// | [`crate::attribute::SERVER_PORT`] | `Opt_in`
2010/// | [`crate::attribute::URL_SCHEME`] | `Required`
2011/// | [`crate::attribute::USER_AGENT_SYNTHETIC_TYPE`] | `Opt_in`
2012#[cfg(feature = "semconv_experimental")]
2013pub const HTTP_SERVER_RESPONSE_BODY_SIZE: &str = "http.server.response.body.size";
2014
2015/// ## Description
2016///
2017/// Energy consumed by the component
2018/// ## Metadata
2019/// | | |
2020/// |:-|:-
2021/// | Instrument: | `counter` |
2022/// | Unit: | `J` |
2023/// | Status: | `Development` |
2024///
2025/// ## Attributes
2026/// | Name | Requirement |
2027/// |:-|:- |
2028/// | [`crate::attribute::HW_ID`] | `Required`
2029/// | [`crate::attribute::HW_NAME`] | `Recommended`
2030/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2031/// | [`crate::attribute::HW_TYPE`] | `Required`
2032#[cfg(feature = "semconv_experimental")]
2033pub const HW_ENERGY: &str = "hw.energy";
2034
2035/// ## Description
2036///
2037/// Number of errors encountered by the component
2038/// ## Metadata
2039/// | | |
2040/// |:-|:-
2041/// | Instrument: | `counter` |
2042/// | Unit: | `{error}` |
2043/// | Status: | `Development` |
2044///
2045/// ## Attributes
2046/// | Name | Requirement |
2047/// |:-|:- |
2048/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred
2049/// | [`crate::attribute::HW_ID`] | `Required`
2050/// | [`crate::attribute::HW_NAME`] | `Recommended`
2051/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2052/// | [`crate::attribute::HW_TYPE`] | `Required`
2053#[cfg(feature = "semconv_experimental")]
2054pub const HW_ERRORS: &str = "hw.errors";
2055
2056/// ## Description
2057///
2058/// Ambient (external) temperature of the physical host
2059/// ## Metadata
2060/// | | |
2061/// |:-|:-
2062/// | Instrument: | `gauge` |
2063/// | Unit: | `Cel` |
2064/// | Status: | `Development` |
2065///
2066/// ## Attributes
2067/// | Name | Requirement |
2068/// |:-|:- |
2069/// | [`crate::attribute::HW_ID`] | `Required`
2070/// | [`crate::attribute::HW_NAME`] | `Recommended`
2071/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2072#[cfg(feature = "semconv_experimental")]
2073pub const HW_HOST_AMBIENT_TEMPERATURE: &str = "hw.host.ambient_temperature";
2074
2075/// ## Description
2076///
2077/// Total energy consumed by the entire physical host, in joules
2078///
2079/// ## Notes
2080///
2081/// The overall energy usage of a host MUST be reported using the specific `hw.host.energy` and `hw.host.power` metrics **only**, instead of the generic `hw.energy` and `hw.power` described in the previous section, to prevent summing up overlapping values
2082/// ## Metadata
2083/// | | |
2084/// |:-|:-
2085/// | Instrument: | `counter` |
2086/// | Unit: | `J` |
2087/// | Status: | `Development` |
2088///
2089/// ## Attributes
2090/// | Name | Requirement |
2091/// |:-|:- |
2092/// | [`crate::attribute::HW_ID`] | `Required`
2093/// | [`crate::attribute::HW_NAME`] | `Recommended`
2094/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2095#[cfg(feature = "semconv_experimental")]
2096pub const HW_HOST_ENERGY: &str = "hw.host.energy";
2097
2098/// ## Description
2099///
2100/// By how many degrees Celsius the temperature of the physical host can be increased, before reaching a warning threshold on one of the internal sensors
2101/// ## Metadata
2102/// | | |
2103/// |:-|:-
2104/// | Instrument: | `gauge` |
2105/// | Unit: | `Cel` |
2106/// | Status: | `Development` |
2107///
2108/// ## Attributes
2109/// | Name | Requirement |
2110/// |:-|:- |
2111/// | [`crate::attribute::HW_ID`] | `Required`
2112/// | [`crate::attribute::HW_NAME`] | `Recommended`
2113/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2114#[cfg(feature = "semconv_experimental")]
2115pub const HW_HOST_HEATING_MARGIN: &str = "hw.host.heating_margin";
2116
2117/// ## Description
2118///
2119/// Instantaneous power consumed by the entire physical host in Watts (`hw.host.energy` is preferred)
2120///
2121/// ## Notes
2122///
2123/// The overall energy usage of a host MUST be reported using the specific `hw.host.energy` and `hw.host.power` metrics **only**, instead of the generic `hw.energy` and `hw.power` described in the previous section, to prevent summing up overlapping values
2124/// ## Metadata
2125/// | | |
2126/// |:-|:-
2127/// | Instrument: | `gauge` |
2128/// | Unit: | `W` |
2129/// | Status: | `Development` |
2130///
2131/// ## Attributes
2132/// | Name | Requirement |
2133/// |:-|:- |
2134/// | [`crate::attribute::HW_ID`] | `Required`
2135/// | [`crate::attribute::HW_NAME`] | `Recommended`
2136/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2137#[cfg(feature = "semconv_experimental")]
2138pub const HW_HOST_POWER: &str = "hw.host.power";
2139
2140/// ## Description
2141///
2142/// Instantaneous power consumed by the component
2143///
2144/// ## Notes
2145///
2146/// It is recommended to report `hw.energy` instead of `hw.power` when possible
2147/// ## Metadata
2148/// | | |
2149/// |:-|:-
2150/// | Instrument: | `gauge` |
2151/// | Unit: | `W` |
2152/// | Status: | `Development` |
2153///
2154/// ## Attributes
2155/// | Name | Requirement |
2156/// |:-|:- |
2157/// | [`crate::attribute::HW_ID`] | `Required`
2158/// | [`crate::attribute::HW_NAME`] | `Recommended`
2159/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2160/// | [`crate::attribute::HW_TYPE`] | `Required`
2161#[cfg(feature = "semconv_experimental")]
2162pub const HW_POWER: &str = "hw.power";
2163
2164/// ## Description
2165///
2166/// Operational status: `1` (true) or `0` (false) for each of the possible states
2167///
2168/// ## Notes
2169///
2170/// `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
2171/// ## Metadata
2172/// | | |
2173/// |:-|:-
2174/// | Instrument: | `updowncounter` |
2175/// | Unit: | `1` |
2176/// | Status: | `Development` |
2177///
2178/// ## Attributes
2179/// | Name | Requirement |
2180/// |:-|:- |
2181/// | [`crate::attribute::HW_ID`] | `Required`
2182/// | [`crate::attribute::HW_NAME`] | `Recommended`
2183/// | [`crate::attribute::HW_PARENT`] | `Recommended`
2184/// | [`crate::attribute::HW_STATE`] | `Required`
2185/// | [`crate::attribute::HW_TYPE`] | `Required`
2186#[cfg(feature = "semconv_experimental")]
2187pub const HW_STATUS: &str = "hw.status";
2188
2189/// ## Description
2190///
2191/// Number of buffers in the pool
2192/// ## Metadata
2193/// | | |
2194/// |:-|:-
2195/// | Instrument: | `updowncounter` |
2196/// | Unit: | `{buffer}` |
2197/// | Status: | `Development` |
2198///
2199/// ## Attributes
2200/// | Name | Requirement |
2201/// |:-|:- |
2202/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
2203#[cfg(feature = "semconv_experimental")]
2204pub const JVM_BUFFER_COUNT: &str = "jvm.buffer.count";
2205
2206/// ## Description
2207///
2208/// Measure of total memory capacity of buffers
2209/// ## Metadata
2210/// | | |
2211/// |:-|:-
2212/// | Instrument: | `updowncounter` |
2213/// | Unit: | `By` |
2214/// | Status: | `Development` |
2215///
2216/// ## Attributes
2217/// | Name | Requirement |
2218/// |:-|:- |
2219/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
2220#[cfg(feature = "semconv_experimental")]
2221pub const JVM_BUFFER_MEMORY_LIMIT: &str = "jvm.buffer.memory.limit";
2222
2223/// ## Description
2224///
2225/// Deprecated, use `jvm.buffer.memory.used` instead
2226/// ## Metadata
2227/// | | |
2228/// |:-|:-
2229/// | Instrument: | `updowncounter` |
2230/// | Unit: | `By` |
2231/// | Status: | `Development` |
2232///
2233/// ## Attributes
2234/// | Name | Requirement |
2235/// |:-|:- |
2236/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
2237#[cfg(feature = "semconv_experimental")]
2238#[deprecated(note = "{note: Replaced by `jvm.buffer.memory.used`., reason: uncategorized}")]
2239pub const JVM_BUFFER_MEMORY_USAGE: &str = "jvm.buffer.memory.usage";
2240
2241/// ## Description
2242///
2243/// Measure of memory used by buffers
2244/// ## Metadata
2245/// | | |
2246/// |:-|:-
2247/// | Instrument: | `updowncounter` |
2248/// | Unit: | `By` |
2249/// | Status: | `Development` |
2250///
2251/// ## Attributes
2252/// | Name | Requirement |
2253/// |:-|:- |
2254/// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended`
2255#[cfg(feature = "semconv_experimental")]
2256pub const JVM_BUFFER_MEMORY_USED: &str = "jvm.buffer.memory.used";
2257
2258/// ## Description
2259///
2260/// Number of classes currently loaded
2261/// ## Metadata
2262/// | | |
2263/// |:-|:-
2264/// | Instrument: | `updowncounter` |
2265/// | Unit: | `{class}` |
2266/// | Status: | `Stable` |
2267pub const JVM_CLASS_COUNT: &str = "jvm.class.count";
2268
2269/// ## Description
2270///
2271/// Number of classes loaded since JVM start
2272/// ## Metadata
2273/// | | |
2274/// |:-|:-
2275/// | Instrument: | `counter` |
2276/// | Unit: | `{class}` |
2277/// | Status: | `Stable` |
2278pub const JVM_CLASS_LOADED: &str = "jvm.class.loaded";
2279
2280/// ## Description
2281///
2282/// Number of classes unloaded since JVM start
2283/// ## Metadata
2284/// | | |
2285/// |:-|:-
2286/// | Instrument: | `counter` |
2287/// | Unit: | `{class}` |
2288/// | Status: | `Stable` |
2289pub const JVM_CLASS_UNLOADED: &str = "jvm.class.unloaded";
2290
2291/// ## Description
2292///
2293/// Number of processors available to the Java virtual machine
2294/// ## Metadata
2295/// | | |
2296/// |:-|:-
2297/// | Instrument: | `updowncounter` |
2298/// | Unit: | `{cpu}` |
2299/// | Status: | `Stable` |
2300pub const JVM_CPU_COUNT: &str = "jvm.cpu.count";
2301
2302/// ## Description
2303///
2304/// Recent CPU utilization for the process as reported by the JVM.
2305///
2306/// ## Notes
2307///
2308/// 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())
2309/// ## Metadata
2310/// | | |
2311/// |:-|:-
2312/// | Instrument: | `gauge` |
2313/// | Unit: | `1` |
2314/// | Status: | `Stable` |
2315pub const JVM_CPU_RECENT_UTILIZATION: &str = "jvm.cpu.recent_utilization";
2316
2317/// ## Description
2318///
2319/// CPU time used by the process as reported by the JVM
2320/// ## Metadata
2321/// | | |
2322/// |:-|:-
2323/// | Instrument: | `counter` |
2324/// | Unit: | `s` |
2325/// | Status: | `Stable` |
2326pub const JVM_CPU_TIME: &str = "jvm.cpu.time";
2327
2328/// ## Description
2329///
2330/// Number of open file descriptors as reported by the JVM
2331/// ## Metadata
2332/// | | |
2333/// |:-|:-
2334/// | Instrument: | `updowncounter` |
2335/// | Unit: | `{file_descriptor}` |
2336/// | Status: | `Development` |
2337#[cfg(feature = "semconv_experimental")]
2338pub const JVM_FILE_DESCRIPTOR_COUNT: &str = "jvm.file_descriptor.count";
2339
2340/// ## Description
2341///
2342/// Duration of JVM garbage collection actions
2343/// ## Metadata
2344/// | | |
2345/// |:-|:-
2346/// | Instrument: | `histogram` |
2347/// | Unit: | `s` |
2348/// | Status: | `Stable` |
2349///
2350/// ## Attributes
2351/// | Name | Requirement |
2352/// |:-|:- |
2353/// | [`crate::attribute::JVM_GC_ACTION`] | `Recommended`
2354/// | [`crate::attribute::JVM_GC_CAUSE`] | `Opt_in`
2355/// | [`crate::attribute::JVM_GC_NAME`] | `Recommended`
2356pub const JVM_GC_DURATION: &str = "jvm.gc.duration";
2357
2358/// ## Description
2359///
2360/// Measure of memory committed
2361/// ## Metadata
2362/// | | |
2363/// |:-|:-
2364/// | Instrument: | `updowncounter` |
2365/// | Unit: | `By` |
2366/// | Status: | `Stable` |
2367///
2368/// ## Attributes
2369/// | Name | Requirement |
2370/// |:-|:- |
2371/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2372/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2373pub const JVM_MEMORY_COMMITTED: &str = "jvm.memory.committed";
2374
2375/// ## Description
2376///
2377/// Measure of initial memory requested
2378/// ## Metadata
2379/// | | |
2380/// |:-|:-
2381/// | Instrument: | `updowncounter` |
2382/// | Unit: | `By` |
2383/// | Status: | `Development` |
2384///
2385/// ## Attributes
2386/// | Name | Requirement |
2387/// |:-|:- |
2388/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2389/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2390#[cfg(feature = "semconv_experimental")]
2391pub const JVM_MEMORY_INIT: &str = "jvm.memory.init";
2392
2393/// ## Description
2394///
2395/// Measure of max obtainable memory
2396/// ## Metadata
2397/// | | |
2398/// |:-|:-
2399/// | Instrument: | `updowncounter` |
2400/// | Unit: | `By` |
2401/// | Status: | `Stable` |
2402///
2403/// ## Attributes
2404/// | Name | Requirement |
2405/// |:-|:- |
2406/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2407/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2408pub const JVM_MEMORY_LIMIT: &str = "jvm.memory.limit";
2409
2410/// ## Description
2411///
2412/// Measure of memory used
2413/// ## Metadata
2414/// | | |
2415/// |:-|:-
2416/// | Instrument: | `updowncounter` |
2417/// | Unit: | `By` |
2418/// | Status: | `Stable` |
2419///
2420/// ## Attributes
2421/// | Name | Requirement |
2422/// |:-|:- |
2423/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2424/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2425pub const JVM_MEMORY_USED: &str = "jvm.memory.used";
2426
2427/// ## Description
2428///
2429/// Measure of memory used, as measured after the most recent garbage collection event on this pool
2430/// ## Metadata
2431/// | | |
2432/// |:-|:-
2433/// | Instrument: | `updowncounter` |
2434/// | Unit: | `By` |
2435/// | Status: | `Stable` |
2436///
2437/// ## Attributes
2438/// | Name | Requirement |
2439/// |:-|:- |
2440/// | [`crate::attribute::JVM_MEMORY_POOL_NAME`] | `Recommended`
2441/// | [`crate::attribute::JVM_MEMORY_TYPE`] | `Recommended`
2442pub const JVM_MEMORY_USED_AFTER_LAST_GC: &str = "jvm.memory.used_after_last_gc";
2443
2444/// ## Description
2445///
2446/// Average CPU load of the whole system for the last minute as reported by the JVM.
2447///
2448/// ## Notes
2449///
2450/// 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())
2451/// ## Metadata
2452/// | | |
2453/// |:-|:-
2454/// | Instrument: | `gauge` |
2455/// | Unit: | `{run_queue_item}` |
2456/// | Status: | `Development` |
2457#[cfg(feature = "semconv_experimental")]
2458pub const JVM_SYSTEM_CPU_LOAD_1M: &str = "jvm.system.cpu.load_1m";
2459
2460/// ## Description
2461///
2462/// Recent CPU utilization for the whole system as reported by the JVM.
2463///
2464/// ## Notes
2465///
2466/// 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())
2467/// ## Metadata
2468/// | | |
2469/// |:-|:-
2470/// | Instrument: | `gauge` |
2471/// | Unit: | `1` |
2472/// | Status: | `Development` |
2473#[cfg(feature = "semconv_experimental")]
2474pub const JVM_SYSTEM_CPU_UTILIZATION: &str = "jvm.system.cpu.utilization";
2475
2476/// ## Description
2477///
2478/// Number of executing platform threads
2479/// ## Metadata
2480/// | | |
2481/// |:-|:-
2482/// | Instrument: | `updowncounter` |
2483/// | Unit: | `{thread}` |
2484/// | Status: | `Stable` |
2485///
2486/// ## Attributes
2487/// | Name | Requirement |
2488/// |:-|:- |
2489/// | [`crate::attribute::JVM_THREAD_DAEMON`] | `Recommended`
2490/// | [`crate::attribute::JVM_THREAD_STATE`] | `Recommended`
2491pub const JVM_THREAD_COUNT: &str = "jvm.thread.count";
2492
2493/// ## Description
2494///
2495/// The number of actively running jobs for a cronjob
2496///
2497/// ## Notes
2498///
2499/// This metric aligns with the `active` field of the
2500/// [K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#cronjobstatus-v1-batch).
2501///
2502/// This metric SHOULD, at a minimum, be reported against a
2503/// [`k8s.cronjob`](../resource/k8s.md#cronjob) resource
2504/// ## Metadata
2505/// | | |
2506/// |:-|:-
2507/// | Instrument: | `updowncounter` |
2508/// | Unit: | `{job}` |
2509/// | Status: | `Development` |
2510#[cfg(feature = "semconv_experimental")]
2511pub const K8S_CRONJOB_ACTIVE_JOBS: &str = "k8s.cronjob.active_jobs";
2512
2513/// ## Description
2514///
2515/// Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod
2516///
2517/// ## Notes
2518///
2519/// This metric aligns with the `currentNumberScheduled` field of the
2520/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2521///
2522/// This metric SHOULD, at a minimum, be reported against a
2523/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2524/// ## Metadata
2525/// | | |
2526/// |:-|:-
2527/// | Instrument: | `updowncounter` |
2528/// | Unit: | `{node}` |
2529/// | Status: | `Development` |
2530#[cfg(feature = "semconv_experimental")]
2531pub const K8S_DAEMONSET_CURRENT_SCHEDULED_NODES: &str = "k8s.daemonset.current_scheduled_nodes";
2532
2533/// ## Description
2534///
2535/// Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)
2536///
2537/// ## Notes
2538///
2539/// This metric aligns with the `desiredNumberScheduled` field of the
2540/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2541///
2542/// This metric SHOULD, at a minimum, be reported against a
2543/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2544/// ## Metadata
2545/// | | |
2546/// |:-|:-
2547/// | Instrument: | `updowncounter` |
2548/// | Unit: | `{node}` |
2549/// | Status: | `Development` |
2550#[cfg(feature = "semconv_experimental")]
2551pub const K8S_DAEMONSET_DESIRED_SCHEDULED_NODES: &str = "k8s.daemonset.desired_scheduled_nodes";
2552
2553/// ## Description
2554///
2555/// Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod
2556///
2557/// ## Notes
2558///
2559/// This metric aligns with the `numberMisscheduled` field of the
2560/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2561///
2562/// This metric SHOULD, at a minimum, be reported against a
2563/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2564/// ## Metadata
2565/// | | |
2566/// |:-|:-
2567/// | Instrument: | `updowncounter` |
2568/// | Unit: | `{node}` |
2569/// | Status: | `Development` |
2570#[cfg(feature = "semconv_experimental")]
2571pub const K8S_DAEMONSET_MISSCHEDULED_NODES: &str = "k8s.daemonset.misscheduled_nodes";
2572
2573/// ## Description
2574///
2575/// Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready
2576///
2577/// ## Notes
2578///
2579/// This metric aligns with the `numberReady` field of the
2580/// [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
2581///
2582/// This metric SHOULD, at a minimum, be reported against a
2583/// [`k8s.daemonset`](../resource/k8s.md#daemonset) resource
2584/// ## Metadata
2585/// | | |
2586/// |:-|:-
2587/// | Instrument: | `updowncounter` |
2588/// | Unit: | `{node}` |
2589/// | Status: | `Development` |
2590#[cfg(feature = "semconv_experimental")]
2591pub const K8S_DAEMONSET_READY_NODES: &str = "k8s.daemonset.ready_nodes";
2592
2593/// ## Description
2594///
2595/// Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment
2596///
2597/// ## Notes
2598///
2599/// This metric aligns with the `availableReplicas` field of the
2600/// [K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstatus-v1-apps).
2601///
2602/// This metric SHOULD, at a minimum, be reported against a
2603/// [`k8s.deployment`](../resource/k8s.md#deployment) resource
2604/// ## Metadata
2605/// | | |
2606/// |:-|:-
2607/// | Instrument: | `updowncounter` |
2608/// | Unit: | `{pod}` |
2609/// | Status: | `Development` |
2610#[cfg(feature = "semconv_experimental")]
2611pub const K8S_DEPLOYMENT_AVAILABLE_PODS: &str = "k8s.deployment.available_pods";
2612
2613/// ## Description
2614///
2615/// Number of desired replica pods in this deployment
2616///
2617/// ## Notes
2618///
2619/// This metric aligns with the `replicas` field of the
2620/// [K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentspec-v1-apps).
2621///
2622/// This metric SHOULD, at a minimum, be reported against a
2623/// [`k8s.deployment`](../resource/k8s.md#deployment) resource
2624/// ## Metadata
2625/// | | |
2626/// |:-|:-
2627/// | Instrument: | `updowncounter` |
2628/// | Unit: | `{pod}` |
2629/// | Status: | `Development` |
2630#[cfg(feature = "semconv_experimental")]
2631pub const K8S_DEPLOYMENT_DESIRED_PODS: &str = "k8s.deployment.desired_pods";
2632
2633/// ## Description
2634///
2635/// Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler
2636///
2637/// ## Notes
2638///
2639/// This metric aligns with the `currentReplicas` field of the
2640/// [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
2641///
2642/// This metric SHOULD, at a minimum, be reported against a
2643/// [`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource
2644/// ## Metadata
2645/// | | |
2646/// |:-|:-
2647/// | Instrument: | `updowncounter` |
2648/// | Unit: | `{pod}` |
2649/// | Status: | `Development` |
2650#[cfg(feature = "semconv_experimental")]
2651pub const K8S_HPA_CURRENT_PODS: &str = "k8s.hpa.current_pods";
2652
2653/// ## Description
2654///
2655/// Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler
2656///
2657/// ## Notes
2658///
2659/// This metric aligns with the `desiredReplicas` field of the
2660/// [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
2661///
2662/// This metric SHOULD, at a minimum, be reported against a
2663/// [`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource
2664/// ## Metadata
2665/// | | |
2666/// |:-|:-
2667/// | Instrument: | `updowncounter` |
2668/// | Unit: | `{pod}` |
2669/// | Status: | `Development` |
2670#[cfg(feature = "semconv_experimental")]
2671pub const K8S_HPA_DESIRED_PODS: &str = "k8s.hpa.desired_pods";
2672
2673/// ## Description
2674///
2675/// The upper limit for the number of replica pods to which the autoscaler can scale up
2676///
2677/// ## Notes
2678///
2679/// This metric aligns with the `maxReplicas` field of the
2680/// [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
2681///
2682/// This metric SHOULD, at a minimum, be reported against a
2683/// [`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource
2684/// ## Metadata
2685/// | | |
2686/// |:-|:-
2687/// | Instrument: | `updowncounter` |
2688/// | Unit: | `{pod}` |
2689/// | Status: | `Development` |
2690#[cfg(feature = "semconv_experimental")]
2691pub const K8S_HPA_MAX_PODS: &str = "k8s.hpa.max_pods";
2692
2693/// ## Description
2694///
2695/// The lower limit for the number of replica pods to which the autoscaler can scale down
2696///
2697/// ## Notes
2698///
2699/// This metric aligns with the `minReplicas` field of the
2700/// [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
2701///
2702/// This metric SHOULD, at a minimum, be reported against a
2703/// [`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource
2704/// ## Metadata
2705/// | | |
2706/// |:-|:-
2707/// | Instrument: | `updowncounter` |
2708/// | Unit: | `{pod}` |
2709/// | Status: | `Development` |
2710#[cfg(feature = "semconv_experimental")]
2711pub const K8S_HPA_MIN_PODS: &str = "k8s.hpa.min_pods";
2712
2713/// ## Description
2714///
2715/// The number of pending and actively running pods for a job
2716///
2717/// ## Notes
2718///
2719/// This metric aligns with the `active` field of the
2720/// [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
2721///
2722/// This metric SHOULD, at a minimum, be reported against a
2723/// [`k8s.job`](../resource/k8s.md#job) resource
2724/// ## Metadata
2725/// | | |
2726/// |:-|:-
2727/// | Instrument: | `updowncounter` |
2728/// | Unit: | `{pod}` |
2729/// | Status: | `Development` |
2730#[cfg(feature = "semconv_experimental")]
2731pub const K8S_JOB_ACTIVE_PODS: &str = "k8s.job.active_pods";
2732
2733/// ## Description
2734///
2735/// The desired number of successfully finished pods the job should be run with
2736///
2737/// ## Notes
2738///
2739/// This metric aligns with the `completions` field of the
2740/// [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).
2741///
2742/// This metric SHOULD, at a minimum, be reported against a
2743/// [`k8s.job`](../resource/k8s.md#job) resource
2744/// ## Metadata
2745/// | | |
2746/// |:-|:-
2747/// | Instrument: | `updowncounter` |
2748/// | Unit: | `{pod}` |
2749/// | Status: | `Development` |
2750#[cfg(feature = "semconv_experimental")]
2751pub const K8S_JOB_DESIRED_SUCCESSFUL_PODS: &str = "k8s.job.desired_successful_pods";
2752
2753/// ## Description
2754///
2755/// The number of pods which reached phase Failed for a job
2756///
2757/// ## Notes
2758///
2759/// This metric aligns with the `failed` field of the
2760/// [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
2761///
2762/// This metric SHOULD, at a minimum, be reported against a
2763/// [`k8s.job`](../resource/k8s.md#job) resource
2764/// ## Metadata
2765/// | | |
2766/// |:-|:-
2767/// | Instrument: | `updowncounter` |
2768/// | Unit: | `{pod}` |
2769/// | Status: | `Development` |
2770#[cfg(feature = "semconv_experimental")]
2771pub const K8S_JOB_FAILED_PODS: &str = "k8s.job.failed_pods";
2772
2773/// ## Description
2774///
2775/// The max desired number of pods the job should run at any given time
2776///
2777/// ## Notes
2778///
2779/// This metric aligns with the `parallelism` field of the
2780/// [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).
2781///
2782/// This metric SHOULD, at a minimum, be reported against a
2783/// [`k8s.job`](../resource/k8s.md#job) resource
2784/// ## Metadata
2785/// | | |
2786/// |:-|:-
2787/// | Instrument: | `updowncounter` |
2788/// | Unit: | `{pod}` |
2789/// | Status: | `Development` |
2790#[cfg(feature = "semconv_experimental")]
2791pub const K8S_JOB_MAX_PARALLEL_PODS: &str = "k8s.job.max_parallel_pods";
2792
2793/// ## Description
2794///
2795/// The number of pods which reached phase Succeeded for a job
2796///
2797/// ## Notes
2798///
2799/// This metric aligns with the `succeeded` field of the
2800/// [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
2801///
2802/// This metric SHOULD, at a minimum, be reported against a
2803/// [`k8s.job`](../resource/k8s.md#job) resource
2804/// ## Metadata
2805/// | | |
2806/// |:-|:-
2807/// | Instrument: | `updowncounter` |
2808/// | Unit: | `{pod}` |
2809/// | Status: | `Development` |
2810#[cfg(feature = "semconv_experimental")]
2811pub const K8S_JOB_SUCCESSFUL_PODS: &str = "k8s.job.successful_pods";
2812
2813/// ## Description
2814///
2815/// Describes number of K8s namespaces that are currently in a given phase.
2816///
2817/// ## Notes
2818///
2819/// This metric SHOULD, at a minimum, be reported against a
2820/// [`k8s.namespace`](../resource/k8s.md#namespace) resource
2821/// ## Metadata
2822/// | | |
2823/// |:-|:-
2824/// | Instrument: | `updowncounter` |
2825/// | Unit: | `{namespace}` |
2826/// | Status: | `Development` |
2827///
2828/// ## Attributes
2829/// | Name | Requirement |
2830/// |:-|:- |
2831/// | [`crate::attribute::K8S_NAMESPACE_PHASE`] | `Required`
2832#[cfg(feature = "semconv_experimental")]
2833pub const K8S_NAMESPACE_PHASE: &str = "k8s.namespace.phase";
2834
2835/// ## Description
2836///
2837/// Total CPU time consumed
2838///
2839/// ## Notes
2840///
2841/// Total CPU time consumed by the specific Node on all available CPU cores
2842/// ## Metadata
2843/// | | |
2844/// |:-|:-
2845/// | Instrument: | `counter` |
2846/// | Unit: | `s` |
2847/// | Status: | `Development` |
2848#[cfg(feature = "semconv_experimental")]
2849pub const K8S_NODE_CPU_TIME: &str = "k8s.node.cpu.time";
2850
2851/// ## Description
2852///
2853/// Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs
2854///
2855/// ## Notes
2856///
2857/// CPU usage of the specific Node on all available CPU cores, averaged over the sample window
2858/// ## Metadata
2859/// | | |
2860/// |:-|:-
2861/// | Instrument: | `gauge` |
2862/// | Unit: | `{cpu}` |
2863/// | Status: | `Development` |
2864#[cfg(feature = "semconv_experimental")]
2865pub const K8S_NODE_CPU_USAGE: &str = "k8s.node.cpu.usage";
2866
2867/// ## Description
2868///
2869/// Memory usage of the Node
2870///
2871/// ## Notes
2872///
2873/// Total memory usage of the Node
2874/// ## Metadata
2875/// | | |
2876/// |:-|:-
2877/// | Instrument: | `gauge` |
2878/// | Unit: | `By` |
2879/// | Status: | `Development` |
2880#[cfg(feature = "semconv_experimental")]
2881pub const K8S_NODE_MEMORY_USAGE: &str = "k8s.node.memory.usage";
2882
2883/// ## Description
2884///
2885/// Node network errors
2886/// ## Metadata
2887/// | | |
2888/// |:-|:-
2889/// | Instrument: | `counter` |
2890/// | Unit: | `{error}` |
2891/// | Status: | `Development` |
2892///
2893/// ## Attributes
2894/// | Name | Requirement |
2895/// |:-|:- |
2896/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
2897/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
2898#[cfg(feature = "semconv_experimental")]
2899pub const K8S_NODE_NETWORK_ERRORS: &str = "k8s.node.network.errors";
2900
2901/// ## Description
2902///
2903/// Network bytes for the Node
2904/// ## Metadata
2905/// | | |
2906/// |:-|:-
2907/// | Instrument: | `counter` |
2908/// | Unit: | `By` |
2909/// | Status: | `Development` |
2910///
2911/// ## Attributes
2912/// | Name | Requirement |
2913/// |:-|:- |
2914/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
2915/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
2916#[cfg(feature = "semconv_experimental")]
2917pub const K8S_NODE_NETWORK_IO: &str = "k8s.node.network.io";
2918
2919/// ## Description
2920///
2921/// The time the Node has been running
2922///
2923/// ## Notes
2924///
2925/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
2926/// The actual accuracy would depend on the instrumentation and operating system
2927/// ## Metadata
2928/// | | |
2929/// |:-|:-
2930/// | Instrument: | `gauge` |
2931/// | Unit: | `s` |
2932/// | Status: | `Development` |
2933#[cfg(feature = "semconv_experimental")]
2934pub const K8S_NODE_UPTIME: &str = "k8s.node.uptime";
2935
2936/// ## Description
2937///
2938/// Total CPU time consumed
2939///
2940/// ## Notes
2941///
2942/// Total CPU time consumed by the specific Pod on all available CPU cores
2943/// ## Metadata
2944/// | | |
2945/// |:-|:-
2946/// | Instrument: | `counter` |
2947/// | Unit: | `s` |
2948/// | Status: | `Development` |
2949#[cfg(feature = "semconv_experimental")]
2950pub const K8S_POD_CPU_TIME: &str = "k8s.pod.cpu.time";
2951
2952/// ## Description
2953///
2954/// Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs
2955///
2956/// ## Notes
2957///
2958/// CPU usage of the specific Pod on all available CPU cores, averaged over the sample window
2959/// ## Metadata
2960/// | | |
2961/// |:-|:-
2962/// | Instrument: | `gauge` |
2963/// | Unit: | `{cpu}` |
2964/// | Status: | `Development` |
2965#[cfg(feature = "semconv_experimental")]
2966pub const K8S_POD_CPU_USAGE: &str = "k8s.pod.cpu.usage";
2967
2968/// ## Description
2969///
2970/// Memory usage of the Pod
2971///
2972/// ## Notes
2973///
2974/// Total memory usage of the Pod
2975/// ## Metadata
2976/// | | |
2977/// |:-|:-
2978/// | Instrument: | `gauge` |
2979/// | Unit: | `By` |
2980/// | Status: | `Development` |
2981#[cfg(feature = "semconv_experimental")]
2982pub const K8S_POD_MEMORY_USAGE: &str = "k8s.pod.memory.usage";
2983
2984/// ## Description
2985///
2986/// Pod network errors
2987/// ## Metadata
2988/// | | |
2989/// |:-|:-
2990/// | Instrument: | `counter` |
2991/// | Unit: | `{error}` |
2992/// | Status: | `Development` |
2993///
2994/// ## Attributes
2995/// | Name | Requirement |
2996/// |:-|:- |
2997/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
2998/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
2999#[cfg(feature = "semconv_experimental")]
3000pub const K8S_POD_NETWORK_ERRORS: &str = "k8s.pod.network.errors";
3001
3002/// ## Description
3003///
3004/// Network bytes for the Pod
3005/// ## Metadata
3006/// | | |
3007/// |:-|:-
3008/// | Instrument: | `counter` |
3009/// | Unit: | `By` |
3010/// | Status: | `Development` |
3011///
3012/// ## Attributes
3013/// | Name | Requirement |
3014/// |:-|:- |
3015/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
3016/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
3017#[cfg(feature = "semconv_experimental")]
3018pub const K8S_POD_NETWORK_IO: &str = "k8s.pod.network.io";
3019
3020/// ## Description
3021///
3022/// The time the Pod has been running
3023///
3024/// ## Notes
3025///
3026/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
3027/// The actual accuracy would depend on the instrumentation and operating system
3028/// ## Metadata
3029/// | | |
3030/// |:-|:-
3031/// | Instrument: | `gauge` |
3032/// | Unit: | `s` |
3033/// | Status: | `Development` |
3034#[cfg(feature = "semconv_experimental")]
3035pub const K8S_POD_UPTIME: &str = "k8s.pod.uptime";
3036
3037/// ## Description
3038///
3039/// Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset
3040///
3041/// ## Notes
3042///
3043/// This metric aligns with the `availableReplicas` field of the
3044/// [K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetstatus-v1-apps).
3045///
3046/// This metric SHOULD, at a minimum, be reported against a
3047/// [`k8s.replicaset`](../resource/k8s.md#replicaset) resource
3048/// ## Metadata
3049/// | | |
3050/// |:-|:-
3051/// | Instrument: | `updowncounter` |
3052/// | Unit: | `{pod}` |
3053/// | Status: | `Development` |
3054#[cfg(feature = "semconv_experimental")]
3055pub const K8S_REPLICASET_AVAILABLE_PODS: &str = "k8s.replicaset.available_pods";
3056
3057/// ## Description
3058///
3059/// Number of desired replica pods in this replicaset
3060///
3061/// ## Notes
3062///
3063/// This metric aligns with the `replicas` field of the
3064/// [K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetspec-v1-apps).
3065///
3066/// This metric SHOULD, at a minimum, be reported against a
3067/// [`k8s.replicaset`](../resource/k8s.md#replicaset) resource
3068/// ## Metadata
3069/// | | |
3070/// |:-|:-
3071/// | Instrument: | `updowncounter` |
3072/// | Unit: | `{pod}` |
3073/// | Status: | `Development` |
3074#[cfg(feature = "semconv_experimental")]
3075pub const K8S_REPLICASET_DESIRED_PODS: &str = "k8s.replicaset.desired_pods";
3076
3077/// ## Description
3078///
3079/// Deprecated, use `k8s.replicationcontroller.available_pods` instead.
3080///
3081/// ## Notes
3082///
3083/// This metric aligns with the `availableReplicas` field of the
3084/// [K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core)
3085///
3086/// This metric SHOULD, at a minimum, be reported against a
3087/// [`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource
3088/// ## Metadata
3089/// | | |
3090/// |:-|:-
3091/// | Instrument: | `updowncounter` |
3092/// | Unit: | `{pod}` |
3093/// | Status: | `Development` |
3094#[cfg(feature = "semconv_experimental")]
3095#[deprecated(
3096 note = "{note: Replaced by `k8s.replicationcontroller.available_pods`., reason: uncategorized}"
3097)]
3098pub const K8S_REPLICATION_CONTROLLER_AVAILABLE_PODS: &str =
3099 "k8s.replication_controller.available_pods";
3100
3101/// ## Description
3102///
3103/// Deprecated, use `k8s.replicationcontroller.desired_pods` instead.
3104///
3105/// ## Notes
3106///
3107/// This metric aligns with the `replicas` field of the
3108/// [K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core)
3109///
3110/// This metric SHOULD, at a minimum, be reported against a
3111/// [`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource
3112/// ## Metadata
3113/// | | |
3114/// |:-|:-
3115/// | Instrument: | `updowncounter` |
3116/// | Unit: | `{pod}` |
3117/// | Status: | `Development` |
3118#[cfg(feature = "semconv_experimental")]
3119#[deprecated(
3120 note = "{note: Replaced by `k8s.replicationcontroller.desired_pods`., reason: uncategorized}"
3121)]
3122pub const K8S_REPLICATION_CONTROLLER_DESIRED_PODS: &str = "k8s.replication_controller.desired_pods";
3123
3124/// ## Description
3125///
3126/// Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller
3127///
3128/// ## Notes
3129///
3130/// This metric aligns with the `availableReplicas` field of the
3131/// [K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core)
3132///
3133/// This metric SHOULD, at a minimum, be reported against a
3134/// [`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource
3135/// ## Metadata
3136/// | | |
3137/// |:-|:-
3138/// | Instrument: | `updowncounter` |
3139/// | Unit: | `{pod}` |
3140/// | Status: | `Development` |
3141#[cfg(feature = "semconv_experimental")]
3142pub const K8S_REPLICATIONCONTROLLER_AVAILABLE_PODS: &str =
3143 "k8s.replicationcontroller.available_pods";
3144
3145/// ## Description
3146///
3147/// Number of desired replica pods in this replication controller
3148///
3149/// ## Notes
3150///
3151/// This metric aligns with the `replicas` field of the
3152/// [K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core)
3153///
3154/// This metric SHOULD, at a minimum, be reported against a
3155/// [`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource
3156/// ## Metadata
3157/// | | |
3158/// |:-|:-
3159/// | Instrument: | `updowncounter` |
3160/// | Unit: | `{pod}` |
3161/// | Status: | `Development` |
3162#[cfg(feature = "semconv_experimental")]
3163pub const K8S_REPLICATIONCONTROLLER_DESIRED_PODS: &str = "k8s.replicationcontroller.desired_pods";
3164
3165/// ## Description
3166///
3167/// The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision
3168///
3169/// ## Notes
3170///
3171/// This metric aligns with the `currentReplicas` field of the
3172/// [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
3173///
3174/// This metric SHOULD, at a minimum, be reported against a
3175/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
3176/// ## Metadata
3177/// | | |
3178/// |:-|:-
3179/// | Instrument: | `updowncounter` |
3180/// | Unit: | `{pod}` |
3181/// | Status: | `Development` |
3182#[cfg(feature = "semconv_experimental")]
3183pub const K8S_STATEFULSET_CURRENT_PODS: &str = "k8s.statefulset.current_pods";
3184
3185/// ## Description
3186///
3187/// Number of desired replica pods in this statefulset
3188///
3189/// ## Notes
3190///
3191/// This metric aligns with the `replicas` field of the
3192/// [K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetspec-v1-apps).
3193///
3194/// This metric SHOULD, at a minimum, be reported against a
3195/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
3196/// ## Metadata
3197/// | | |
3198/// |:-|:-
3199/// | Instrument: | `updowncounter` |
3200/// | Unit: | `{pod}` |
3201/// | Status: | `Development` |
3202#[cfg(feature = "semconv_experimental")]
3203pub const K8S_STATEFULSET_DESIRED_PODS: &str = "k8s.statefulset.desired_pods";
3204
3205/// ## Description
3206///
3207/// The number of replica pods created for this statefulset with a Ready Condition
3208///
3209/// ## Notes
3210///
3211/// This metric aligns with the `readyReplicas` field of the
3212/// [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
3213///
3214/// This metric SHOULD, at a minimum, be reported against a
3215/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
3216/// ## Metadata
3217/// | | |
3218/// |:-|:-
3219/// | Instrument: | `updowncounter` |
3220/// | Unit: | `{pod}` |
3221/// | Status: | `Development` |
3222#[cfg(feature = "semconv_experimental")]
3223pub const K8S_STATEFULSET_READY_PODS: &str = "k8s.statefulset.ready_pods";
3224
3225/// ## Description
3226///
3227/// Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision
3228///
3229/// ## Notes
3230///
3231/// This metric aligns with the `updatedReplicas` field of the
3232/// [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
3233///
3234/// This metric SHOULD, at a minimum, be reported against a
3235/// [`k8s.statefulset`](../resource/k8s.md#statefulset) resource
3236/// ## Metadata
3237/// | | |
3238/// |:-|:-
3239/// | Instrument: | `updowncounter` |
3240/// | Unit: | `{pod}` |
3241/// | Status: | `Development` |
3242#[cfg(feature = "semconv_experimental")]
3243pub const K8S_STATEFULSET_UPDATED_PODS: &str = "k8s.statefulset.updated_pods";
3244
3245/// ## Description
3246///
3247/// Number of connections that are currently active on the server.
3248///
3249/// ## Notes
3250///
3251/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3252/// ## Metadata
3253/// | | |
3254/// |:-|:-
3255/// | Instrument: | `updowncounter` |
3256/// | Unit: | `{connection}` |
3257/// | Status: | `Stable` |
3258///
3259/// ## Attributes
3260/// | Name | Requirement |
3261/// |:-|:- |
3262/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3263/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3264/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3265/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3266pub const KESTREL_ACTIVE_CONNECTIONS: &str = "kestrel.active_connections";
3267
3268/// ## Description
3269///
3270/// Number of TLS handshakes that are currently in progress on the server.
3271///
3272/// ## Notes
3273///
3274/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3275/// ## Metadata
3276/// | | |
3277/// |:-|:-
3278/// | Instrument: | `updowncounter` |
3279/// | Unit: | `{handshake}` |
3280/// | Status: | `Stable` |
3281///
3282/// ## Attributes
3283/// | Name | Requirement |
3284/// |:-|:- |
3285/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3286/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3287/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3288/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3289pub const KESTREL_ACTIVE_TLS_HANDSHAKES: &str = "kestrel.active_tls_handshakes";
3290
3291/// ## Description
3292///
3293/// The duration of connections on the server.
3294///
3295/// ## Notes
3296///
3297/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3298/// ## Metadata
3299/// | | |
3300/// |:-|:-
3301/// | Instrument: | `histogram` |
3302/// | Unit: | `s` |
3303/// | Status: | `Stable` |
3304///
3305/// ## Attributes
3306/// | Name | Requirement |
3307/// |:-|:- |
3308/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred.
3309/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Recommended`
3310/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
3311/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3312/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3313/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3314/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3315/// | [`crate::attribute::TLS_PROTOCOL_VERSION`] | `Recommended`
3316pub const KESTREL_CONNECTION_DURATION: &str = "kestrel.connection.duration";
3317
3318/// ## Description
3319///
3320/// Number of connections that are currently queued and are waiting to start.
3321///
3322/// ## Notes
3323///
3324/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3325/// ## Metadata
3326/// | | |
3327/// |:-|:-
3328/// | Instrument: | `updowncounter` |
3329/// | Unit: | `{connection}` |
3330/// | Status: | `Stable` |
3331///
3332/// ## Attributes
3333/// | Name | Requirement |
3334/// |:-|:- |
3335/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3336/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3337/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3338/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3339pub const KESTREL_QUEUED_CONNECTIONS: &str = "kestrel.queued_connections";
3340
3341/// ## Description
3342///
3343/// Number of HTTP requests on multiplexed connections (HTTP/2 and HTTP/3) that are currently queued and are waiting to start.
3344///
3345/// ## Notes
3346///
3347/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3348/// ## Metadata
3349/// | | |
3350/// |:-|:-
3351/// | Instrument: | `updowncounter` |
3352/// | Unit: | `{request}` |
3353/// | Status: | `Stable` |
3354///
3355/// ## Attributes
3356/// | Name | Requirement |
3357/// |:-|:- |
3358/// | [`crate::attribute::NETWORK_PROTOCOL_NAME`] | `Recommended`
3359/// | [`crate::attribute::NETWORK_PROTOCOL_VERSION`] | `Recommended`
3360/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3361/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3362/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3363/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3364pub const KESTREL_QUEUED_REQUESTS: &str = "kestrel.queued_requests";
3365
3366/// ## Description
3367///
3368/// Number of connections rejected by the server.
3369///
3370/// ## Notes
3371///
3372/// Connections are rejected when the currently active count exceeds the value configured with `MaxConcurrentConnections`.
3373/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3374/// ## Metadata
3375/// | | |
3376/// |:-|:-
3377/// | Instrument: | `counter` |
3378/// | Unit: | `{connection}` |
3379/// | Status: | `Stable` |
3380///
3381/// ## Attributes
3382/// | Name | Requirement |
3383/// |:-|:- |
3384/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3385/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3386/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3387/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3388pub const KESTREL_REJECTED_CONNECTIONS: &str = "kestrel.rejected_connections";
3389
3390/// ## Description
3391///
3392/// The duration of TLS handshakes on the server.
3393///
3394/// ## Notes
3395///
3396/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3397/// ## Metadata
3398/// | | |
3399/// |:-|:-
3400/// | Instrument: | `histogram` |
3401/// | Unit: | `s` |
3402/// | Status: | `Stable` |
3403///
3404/// ## Attributes
3405/// | Name | Requirement |
3406/// |:-|:- |
3407/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: if and only if an error has occurred.
3408/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3409/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3410/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3411/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3412/// | [`crate::attribute::TLS_PROTOCOL_VERSION`] | `Recommended`
3413pub const KESTREL_TLS_HANDSHAKE_DURATION: &str = "kestrel.tls_handshake.duration";
3414
3415/// ## Description
3416///
3417/// Number of connections that are currently upgraded (WebSockets). .
3418///
3419/// ## Notes
3420///
3421/// The counter only tracks HTTP/1.1 connections.
3422///
3423/// Meter name: `Microsoft.AspNetCore.Server.Kestrel`; Added in: ASP.NET Core 8.0
3424/// ## Metadata
3425/// | | |
3426/// |:-|:-
3427/// | Instrument: | `updowncounter` |
3428/// | Unit: | `{connection}` |
3429/// | Status: | `Stable` |
3430///
3431/// ## Attributes
3432/// | Name | Requirement |
3433/// |:-|:- |
3434/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
3435/// | [`crate::attribute::NETWORK_TYPE`] | `{"recommended": "if the transport is `tcp` or `udp`"}`
3436/// | [`crate::attribute::SERVER_ADDRESS`] | `Recommended`
3437/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3438pub const KESTREL_UPGRADED_CONNECTIONS: &str = "kestrel.upgraded_connections";
3439
3440/// ## Description
3441///
3442/// Number of messages that were delivered to the application.
3443///
3444/// ## Notes
3445///
3446/// Records the number of messages pulled from the broker or number of messages dispatched to the application in push-based scenarios.
3447/// 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
3448/// ## Metadata
3449/// | | |
3450/// |:-|:-
3451/// | Instrument: | `counter` |
3452/// | Unit: | `{message}` |
3453/// | Status: | `Development` |
3454///
3455/// ## Attributes
3456/// | Name | Requirement |
3457/// |:-|:- |
3458/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3459/// | [`crate::attribute::MESSAGING_CONSUMER_GROUP_NAME`] | `Conditionally_required`: if applicable.
3460/// | [`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.
3461/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3462/// | [`crate::attribute::MESSAGING_DESTINATION_SUBSCRIPTION_NAME`] | `Conditionally_required`: if applicable.
3463/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3464/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3465/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3466/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3467/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3468#[cfg(feature = "semconv_experimental")]
3469pub const MESSAGING_CLIENT_CONSUMED_MESSAGES: &str = "messaging.client.consumed.messages";
3470
3471/// ## Description
3472///
3473/// Duration of messaging operation initiated by a producer or consumer client.
3474///
3475/// ## Notes
3476///
3477/// This metric SHOULD NOT be used to report processing duration - processing duration is reported in `messaging.process.duration` metric
3478/// ## Metadata
3479/// | | |
3480/// |:-|:-
3481/// | Instrument: | `histogram` |
3482/// | Unit: | `s` |
3483/// | Status: | `Development` |
3484///
3485/// ## Attributes
3486/// | Name | Requirement |
3487/// |:-|:- |
3488/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3489/// | [`crate::attribute::MESSAGING_CONSUMER_GROUP_NAME`] | `Conditionally_required`: if applicable.
3490/// | [`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.
3491/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3492/// | [`crate::attribute::MESSAGING_DESTINATION_SUBSCRIPTION_NAME`] | `Conditionally_required`: if applicable.
3493/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3494/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3495/// | [`crate::attribute::MESSAGING_OPERATION_TYPE`] | `Conditionally_required`: If applicable.
3496/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3497/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3498/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3499#[cfg(feature = "semconv_experimental")]
3500pub const MESSAGING_CLIENT_OPERATION_DURATION: &str = "messaging.client.operation.duration";
3501
3502/// ## Description
3503///
3504/// Deprecated. Use `messaging.client.sent.messages` instead
3505/// ## Metadata
3506/// | | |
3507/// |:-|:-
3508/// | Instrument: | `counter` |
3509/// | Unit: | `{message}` |
3510/// | Status: | `Development` |
3511///
3512/// ## Attributes
3513/// | Name | Requirement |
3514/// |:-|:- |
3515/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3516/// | [`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.
3517/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3518/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3519/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3520/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3521/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3522/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3523#[cfg(feature = "semconv_experimental")]
3524#[deprecated(note = "{note: Replaced by `messaging.client.sent.messages`., reason: uncategorized}")]
3525pub const MESSAGING_CLIENT_PUBLISHED_MESSAGES: &str = "messaging.client.published.messages";
3526
3527/// ## Description
3528///
3529/// Number of messages producer attempted to send to the broker.
3530///
3531/// ## Notes
3532///
3533/// This metric MUST NOT count messages that were created but haven't yet been sent
3534/// ## Metadata
3535/// | | |
3536/// |:-|:-
3537/// | Instrument: | `counter` |
3538/// | Unit: | `{message}` |
3539/// | Status: | `Development` |
3540///
3541/// ## Attributes
3542/// | Name | Requirement |
3543/// |:-|:- |
3544/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3545/// | [`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.
3546/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3547/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3548/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3549/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3550/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3551/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3552#[cfg(feature = "semconv_experimental")]
3553pub const MESSAGING_CLIENT_SENT_MESSAGES: &str = "messaging.client.sent.messages";
3554
3555/// ## Description
3556///
3557/// Duration of processing operation.
3558///
3559/// ## Notes
3560///
3561/// This metric MUST be reported for operations with `messaging.operation.type` that matches `process`
3562/// ## Metadata
3563/// | | |
3564/// |:-|:-
3565/// | Instrument: | `histogram` |
3566/// | Unit: | `s` |
3567/// | Status: | `Development` |
3568///
3569/// ## Attributes
3570/// | Name | Requirement |
3571/// |:-|:- |
3572/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3573/// | [`crate::attribute::MESSAGING_CONSUMER_GROUP_NAME`] | `Conditionally_required`: if applicable.
3574/// | [`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.
3575/// | [`crate::attribute::MESSAGING_DESTINATION_PARTITION_ID`] | `Recommended`
3576/// | [`crate::attribute::MESSAGING_DESTINATION_SUBSCRIPTION_NAME`] | `Conditionally_required`: if applicable.
3577/// | [`crate::attribute::MESSAGING_DESTINATION_TEMPLATE`] | `Conditionally_required`: if available.
3578/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3579/// | [`crate::attribute::MESSAGING_SYSTEM`] | `Required`
3580/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3581/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3582#[cfg(feature = "semconv_experimental")]
3583pub const MESSAGING_PROCESS_DURATION: &str = "messaging.process.duration";
3584
3585/// ## Description
3586///
3587/// Deprecated. Use `messaging.client.consumed.messages` instead
3588/// ## Metadata
3589/// | | |
3590/// |:-|:-
3591/// | Instrument: | `counter` |
3592/// | Unit: | `{message}` |
3593/// | Status: | `Development` |
3594///
3595/// ## Attributes
3596/// | Name | Requirement |
3597/// |:-|:- |
3598/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3599/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3600/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3601/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3602#[cfg(feature = "semconv_experimental")]
3603#[deprecated(
3604 note = "{note: Replaced by `messaging.client.consumed.messages`., reason: uncategorized}"
3605)]
3606pub const MESSAGING_PROCESS_MESSAGES: &str = "messaging.process.messages";
3607
3608/// ## Description
3609///
3610/// Deprecated. Use `messaging.client.operation.duration` instead
3611/// ## Metadata
3612/// | | |
3613/// |:-|:-
3614/// | Instrument: | `histogram` |
3615/// | Unit: | `s` |
3616/// | Status: | `Development` |
3617///
3618/// ## Attributes
3619/// | Name | Requirement |
3620/// |:-|:- |
3621/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3622/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3623/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3624/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3625#[cfg(feature = "semconv_experimental")]
3626#[deprecated(
3627 note = "{note: Replaced by `messaging.client.operation.duration`., reason: uncategorized}"
3628)]
3629pub const MESSAGING_PUBLISH_DURATION: &str = "messaging.publish.duration";
3630
3631/// ## Description
3632///
3633/// Deprecated. Use `messaging.client.produced.messages` instead
3634/// ## Metadata
3635/// | | |
3636/// |:-|:-
3637/// | Instrument: | `counter` |
3638/// | Unit: | `{message}` |
3639/// | Status: | `Development` |
3640///
3641/// ## Attributes
3642/// | Name | Requirement |
3643/// |:-|:- |
3644/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3645/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3646/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3647/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3648#[cfg(feature = "semconv_experimental")]
3649#[deprecated(
3650 note = "{note: Replaced by `messaging.client.produced.messages`., reason: uncategorized}"
3651)]
3652pub const MESSAGING_PUBLISH_MESSAGES: &str = "messaging.publish.messages";
3653
3654/// ## Description
3655///
3656/// Deprecated. Use `messaging.client.operation.duration` instead
3657/// ## Metadata
3658/// | | |
3659/// |:-|:-
3660/// | Instrument: | `histogram` |
3661/// | Unit: | `s` |
3662/// | Status: | `Development` |
3663///
3664/// ## Attributes
3665/// | Name | Requirement |
3666/// |:-|:- |
3667/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3668/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3669/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3670/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3671#[cfg(feature = "semconv_experimental")]
3672#[deprecated(
3673 note = "{note: Replaced by `messaging.client.operation.duration`., reason: uncategorized}"
3674)]
3675pub const MESSAGING_RECEIVE_DURATION: &str = "messaging.receive.duration";
3676
3677/// ## Description
3678///
3679/// Deprecated. Use `messaging.client.consumed.messages` instead
3680/// ## Metadata
3681/// | | |
3682/// |:-|:-
3683/// | Instrument: | `counter` |
3684/// | Unit: | `{message}` |
3685/// | Status: | `Development` |
3686///
3687/// ## Attributes
3688/// | Name | Requirement |
3689/// |:-|:- |
3690/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If and only if the messaging operation has failed.
3691/// | [`crate::attribute::MESSAGING_OPERATION_NAME`] | `Required`
3692/// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available.
3693/// | [`crate::attribute::SERVER_PORT`] | `Recommended`
3694#[cfg(feature = "semconv_experimental")]
3695#[deprecated(
3696 note = "{note: Replaced by `messaging.client.consumed.messages`., reason: uncategorized}"
3697)]
3698pub const MESSAGING_RECEIVE_MESSAGES: &str = "messaging.receive.messages";
3699
3700/// ## Description
3701///
3702/// Event loop maximum delay.
3703///
3704/// ## Notes
3705///
3706/// Value can be retrieved from value `histogram.max` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3707/// ## Metadata
3708/// | | |
3709/// |:-|:-
3710/// | Instrument: | `gauge` |
3711/// | Unit: | `s` |
3712/// | Status: | `Development` |
3713#[cfg(feature = "semconv_experimental")]
3714pub const NODEJS_EVENTLOOP_DELAY_MAX: &str = "nodejs.eventloop.delay.max";
3715
3716/// ## Description
3717///
3718/// Event loop mean delay.
3719///
3720/// ## Notes
3721///
3722/// Value can be retrieved from value `histogram.mean` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3723/// ## Metadata
3724/// | | |
3725/// |:-|:-
3726/// | Instrument: | `gauge` |
3727/// | Unit: | `s` |
3728/// | Status: | `Development` |
3729#[cfg(feature = "semconv_experimental")]
3730pub const NODEJS_EVENTLOOP_DELAY_MEAN: &str = "nodejs.eventloop.delay.mean";
3731
3732/// ## Description
3733///
3734/// Event loop minimum delay.
3735///
3736/// ## Notes
3737///
3738/// Value can be retrieved from value `histogram.min` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3739/// ## Metadata
3740/// | | |
3741/// |:-|:-
3742/// | Instrument: | `gauge` |
3743/// | Unit: | `s` |
3744/// | Status: | `Development` |
3745#[cfg(feature = "semconv_experimental")]
3746pub const NODEJS_EVENTLOOP_DELAY_MIN: &str = "nodejs.eventloop.delay.min";
3747
3748/// ## Description
3749///
3750/// Event loop 50 percentile delay.
3751///
3752/// ## Notes
3753///
3754/// Value can be retrieved from value `histogram.percentile(50)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3755/// ## Metadata
3756/// | | |
3757/// |:-|:-
3758/// | Instrument: | `gauge` |
3759/// | Unit: | `s` |
3760/// | Status: | `Development` |
3761#[cfg(feature = "semconv_experimental")]
3762pub const NODEJS_EVENTLOOP_DELAY_P50: &str = "nodejs.eventloop.delay.p50";
3763
3764/// ## Description
3765///
3766/// Event loop 90 percentile delay.
3767///
3768/// ## Notes
3769///
3770/// Value can be retrieved from value `histogram.percentile(90)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3771/// ## Metadata
3772/// | | |
3773/// |:-|:-
3774/// | Instrument: | `gauge` |
3775/// | Unit: | `s` |
3776/// | Status: | `Development` |
3777#[cfg(feature = "semconv_experimental")]
3778pub const NODEJS_EVENTLOOP_DELAY_P90: &str = "nodejs.eventloop.delay.p90";
3779
3780/// ## Description
3781///
3782/// Event loop 99 percentile delay.
3783///
3784/// ## Notes
3785///
3786/// Value can be retrieved from value `histogram.percentile(99)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3787/// ## Metadata
3788/// | | |
3789/// |:-|:-
3790/// | Instrument: | `gauge` |
3791/// | Unit: | `s` |
3792/// | Status: | `Development` |
3793#[cfg(feature = "semconv_experimental")]
3794pub const NODEJS_EVENTLOOP_DELAY_P99: &str = "nodejs.eventloop.delay.p99";
3795
3796/// ## Description
3797///
3798/// Event loop standard deviation delay.
3799///
3800/// ## Notes
3801///
3802/// Value can be retrieved from value `histogram.stddev` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)
3803/// ## Metadata
3804/// | | |
3805/// |:-|:-
3806/// | Instrument: | `gauge` |
3807/// | Unit: | `s` |
3808/// | Status: | `Development` |
3809#[cfg(feature = "semconv_experimental")]
3810pub const NODEJS_EVENTLOOP_DELAY_STDDEV: &str = "nodejs.eventloop.delay.stddev";
3811
3812/// ## Description
3813///
3814/// Cumulative duration of time the event loop has been in each state.
3815///
3816/// ## Notes
3817///
3818/// Value can be retrieved from [`performance.eventLoopUtilization([utilization1[, utilization2]])`](https://nodejs.org/api/perf_hooks.html#performanceeventlooputilizationutilization1-utilization2)
3819/// ## Metadata
3820/// | | |
3821/// |:-|:-
3822/// | Instrument: | `counter` |
3823/// | Unit: | `s` |
3824/// | Status: | `Development` |
3825///
3826/// ## Attributes
3827/// | Name | Requirement |
3828/// |:-|:- |
3829/// | [`crate::attribute::NODEJS_EVENTLOOP_STATE`] | `Required`
3830#[cfg(feature = "semconv_experimental")]
3831pub const NODEJS_EVENTLOOP_TIME: &str = "nodejs.eventloop.time";
3832
3833/// ## Description
3834///
3835/// Event loop utilization.
3836///
3837/// ## Notes
3838///
3839/// 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)
3840/// ## Metadata
3841/// | | |
3842/// |:-|:-
3843/// | Instrument: | `gauge` |
3844/// | Unit: | `1` |
3845/// | Status: | `Development` |
3846#[cfg(feature = "semconv_experimental")]
3847pub const NODEJS_EVENTLOOP_UTILIZATION: &str = "nodejs.eventloop.utilization";
3848
3849/// ## Description
3850///
3851/// The number of log records for which the export has finished, either successful or failed
3852///
3853/// ## Notes
3854///
3855/// For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause.
3856/// For exporters with partial success semantics (e.g. OTLP with `rejected_log_records`), rejected log records MUST count as failed and only non-rejected log records count as success.
3857/// If no rejection reason is available, `rejected` SHOULD be used as value for `error.type`
3858/// ## Metadata
3859/// | | |
3860/// |:-|:-
3861/// | Instrument: | `counter` |
3862/// | Unit: | `{log_record}` |
3863/// | Status: | `Development` |
3864///
3865/// ## Attributes
3866/// | Name | Requirement |
3867/// |:-|:- |
3868/// | [`crate::attribute::ERROR_TYPE`] | `Recommended`
3869/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
3870/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
3871/// | [`crate::attribute::SERVER_ADDRESS`] | `{"recommended": "when applicable"}`
3872/// | [`crate::attribute::SERVER_PORT`] | `{"recommended": "when applicable"}`
3873#[cfg(feature = "semconv_experimental")]
3874pub const OTEL_SDK_EXPORTER_LOG_EXPORTED: &str = "otel.sdk.exporter.log.exported";
3875
3876/// ## Description
3877///
3878/// The number of log records which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)
3879///
3880/// ## Notes
3881///
3882/// For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause
3883/// ## Metadata
3884/// | | |
3885/// |:-|:-
3886/// | Instrument: | `updowncounter` |
3887/// | Unit: | `{log_record}` |
3888/// | Status: | `Development` |
3889///
3890/// ## Attributes
3891/// | Name | Requirement |
3892/// |:-|:- |
3893/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
3894/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
3895/// | [`crate::attribute::SERVER_ADDRESS`] | `{"recommended": "when applicable"}`
3896/// | [`crate::attribute::SERVER_PORT`] | `{"recommended": "when applicable"}`
3897#[cfg(feature = "semconv_experimental")]
3898pub const OTEL_SDK_EXPORTER_LOG_INFLIGHT: &str = "otel.sdk.exporter.log.inflight";
3899
3900/// ## Description
3901///
3902/// The number of metric data points for which the export has finished, either successful or failed
3903///
3904/// ## Notes
3905///
3906/// For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause.
3907/// For exporters with partial success semantics (e.g. OTLP with `rejected_data_points`), rejected data points MUST count as failed and only non-rejected data points count as success.
3908/// If no rejection reason is available, `rejected` SHOULD be used as value for `error.type`
3909/// ## Metadata
3910/// | | |
3911/// |:-|:-
3912/// | Instrument: | `counter` |
3913/// | Unit: | `{data_point}` |
3914/// | Status: | `Development` |
3915///
3916/// ## Attributes
3917/// | Name | Requirement |
3918/// |:-|:- |
3919/// | [`crate::attribute::ERROR_TYPE`] | `Recommended`
3920/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
3921/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
3922/// | [`crate::attribute::SERVER_ADDRESS`] | `{"recommended": "when applicable"}`
3923/// | [`crate::attribute::SERVER_PORT`] | `{"recommended": "when applicable"}`
3924#[cfg(feature = "semconv_experimental")]
3925pub const OTEL_SDK_EXPORTER_METRIC_DATA_POINT_EXPORTED: &str =
3926 "otel.sdk.exporter.metric_data_point.exported";
3927
3928/// ## Description
3929///
3930/// The number of metric data points which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)
3931///
3932/// ## Notes
3933///
3934/// For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause
3935/// ## Metadata
3936/// | | |
3937/// |:-|:-
3938/// | Instrument: | `updowncounter` |
3939/// | Unit: | `{data_point}` |
3940/// | Status: | `Development` |
3941///
3942/// ## Attributes
3943/// | Name | Requirement |
3944/// |:-|:- |
3945/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
3946/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
3947/// | [`crate::attribute::SERVER_ADDRESS`] | `{"recommended": "when applicable"}`
3948/// | [`crate::attribute::SERVER_PORT`] | `{"recommended": "when applicable"}`
3949#[cfg(feature = "semconv_experimental")]
3950pub const OTEL_SDK_EXPORTER_METRIC_DATA_POINT_INFLIGHT: &str =
3951 "otel.sdk.exporter.metric_data_point.inflight";
3952
3953/// ## Description
3954///
3955/// The duration of exporting a batch of telemetry records.
3956///
3957/// ## Notes
3958///
3959/// This metric defines successful operations using the full success definitions for [http](https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success-1)
3960/// and [grpc](https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success). Anything else is defined as an unsuccessful operation. For successful
3961/// operations, `error.type` MUST NOT be set. For unsuccessful export operations, `error.type` MUST contain a relevant failure cause
3962/// ## Metadata
3963/// | | |
3964/// |:-|:-
3965/// | Instrument: | `histogram` |
3966/// | Unit: | `s` |
3967/// | Status: | `Development` |
3968///
3969/// ## Attributes
3970/// | Name | Requirement |
3971/// |:-|:- |
3972/// | [`crate::attribute::ERROR_TYPE`] | `Conditionally_required`: If operation has ended with an error
3973/// | [`crate::attribute::HTTP_RESPONSE_STATUS_CODE`] | `{"recommended": "when applicable"}`
3974/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
3975/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
3976/// | [`crate::attribute::RPC_GRPC_STATUS_CODE`] | `{"recommended": "when applicable"}`
3977/// | [`crate::attribute::SERVER_ADDRESS`] | `{"recommended": "when applicable"}`
3978/// | [`crate::attribute::SERVER_PORT`] | `{"recommended": "when applicable"}`
3979#[cfg(feature = "semconv_experimental")]
3980pub const OTEL_SDK_EXPORTER_OPERATION_DURATION: &str = "otel.sdk.exporter.operation.duration";
3981
3982/// ## Description
3983///
3984/// The number of spans for which the export has finished, either successful or failed
3985///
3986/// ## Notes
3987///
3988/// For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause.
3989/// For exporters with partial success semantics (e.g. OTLP with `rejected_spans`), rejected spans MUST count as failed and only non-rejected spans count as success.
3990/// If no rejection reason is available, `rejected` SHOULD be used as value for `error.type`
3991/// ## Metadata
3992/// | | |
3993/// |:-|:-
3994/// | Instrument: | `counter` |
3995/// | Unit: | `{span}` |
3996/// | Status: | `Development` |
3997///
3998/// ## Attributes
3999/// | Name | Requirement |
4000/// |:-|:- |
4001/// | [`crate::attribute::ERROR_TYPE`] | `Recommended`
4002/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4003/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4004/// | [`crate::attribute::SERVER_ADDRESS`] | `{"recommended": "when applicable"}`
4005/// | [`crate::attribute::SERVER_PORT`] | `{"recommended": "when applicable"}`
4006#[cfg(feature = "semconv_experimental")]
4007pub const OTEL_SDK_EXPORTER_SPAN_EXPORTED: &str = "otel.sdk.exporter.span.exported";
4008
4009/// ## Description
4010///
4011/// Deprecated, use `otel.sdk.exporter.span.exported` instead
4012/// ## Metadata
4013/// | | |
4014/// |:-|:-
4015/// | Instrument: | `updowncounter` |
4016/// | Unit: | `{span}` |
4017/// | Status: | `Development` |
4018#[cfg(feature = "semconv_experimental")]
4019#[deprecated(note = "{note: Renamed to `otel.sdk.exporter.span.exported`., reason: uncategorized}")]
4020pub const OTEL_SDK_EXPORTER_SPAN_EXPORTED_COUNT: &str = "otel.sdk.exporter.span.exported.count";
4021
4022/// ## Description
4023///
4024/// The number of spans which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)
4025///
4026/// ## Notes
4027///
4028/// For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause
4029/// ## Metadata
4030/// | | |
4031/// |:-|:-
4032/// | Instrument: | `updowncounter` |
4033/// | Unit: | `{span}` |
4034/// | Status: | `Development` |
4035///
4036/// ## Attributes
4037/// | Name | Requirement |
4038/// |:-|:- |
4039/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4040/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4041/// | [`crate::attribute::SERVER_ADDRESS`] | `{"recommended": "when applicable"}`
4042/// | [`crate::attribute::SERVER_PORT`] | `{"recommended": "when applicable"}`
4043#[cfg(feature = "semconv_experimental")]
4044pub const OTEL_SDK_EXPORTER_SPAN_INFLIGHT: &str = "otel.sdk.exporter.span.inflight";
4045
4046/// ## Description
4047///
4048/// Deprecated, use `otel.sdk.exporter.span.inflight` instead
4049/// ## Metadata
4050/// | | |
4051/// |:-|:-
4052/// | Instrument: | `updowncounter` |
4053/// | Unit: | `{span}` |
4054/// | Status: | `Development` |
4055#[cfg(feature = "semconv_experimental")]
4056#[deprecated(note = "{note: Renamed to `otel.sdk.exporter.span.inflight`., reason: uncategorized}")]
4057pub const OTEL_SDK_EXPORTER_SPAN_INFLIGHT_COUNT: &str = "otel.sdk.exporter.span.inflight.count";
4058
4059/// ## Description
4060///
4061/// The number of logs submitted to enabled SDK Loggers
4062/// ## Metadata
4063/// | | |
4064/// |:-|:-
4065/// | Instrument: | `counter` |
4066/// | Unit: | `{log_record}` |
4067/// | Status: | `Development` |
4068#[cfg(feature = "semconv_experimental")]
4069pub const OTEL_SDK_LOG_CREATED: &str = "otel.sdk.log.created";
4070
4071/// ## Description
4072///
4073/// The duration of the collect operation of the metric reader.
4074///
4075/// ## Notes
4076///
4077/// For successful collections, `error.type` MUST NOT be set. For failed collections, `error.type` SHOULD contain the failure cause.
4078/// It can happen that metrics collection is successful for some MetricProducers, while others fail. In that case `error.type` SHOULD be set to any of the failure causes
4079/// ## Metadata
4080/// | | |
4081/// |:-|:-
4082/// | Instrument: | `histogram` |
4083/// | Unit: | `s` |
4084/// | Status: | `Development` |
4085///
4086/// ## Attributes
4087/// | Name | Requirement |
4088/// |:-|:- |
4089/// | [`crate::attribute::ERROR_TYPE`] | `Recommended`
4090/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4091/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4092#[cfg(feature = "semconv_experimental")]
4093pub const OTEL_SDK_METRIC_READER_COLLECTION_DURATION: &str =
4094 "otel.sdk.metric_reader.collection.duration";
4095
4096/// ## Description
4097///
4098/// The number of log records for which the processing has finished, either successful or failed
4099///
4100/// ## Notes
4101///
4102/// For successful processing, `error.type` MUST NOT be set. For failed processing, `error.type` MUST contain the failure cause.
4103/// For the SDK Simple and Batching Log Record Processor a log record is considered to be processed already when it has been submitted to the exporter,
4104/// not when the corresponding export call has finished
4105/// ## Metadata
4106/// | | |
4107/// |:-|:-
4108/// | Instrument: | `counter` |
4109/// | Unit: | `{log_record}` |
4110/// | Status: | `Development` |
4111///
4112/// ## Attributes
4113/// | Name | Requirement |
4114/// |:-|:- |
4115/// | [`crate::attribute::ERROR_TYPE`] | `Recommended`
4116/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4117/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4118#[cfg(feature = "semconv_experimental")]
4119pub const OTEL_SDK_PROCESSOR_LOG_PROCESSED: &str = "otel.sdk.processor.log.processed";
4120
4121/// ## Description
4122///
4123/// The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold
4124///
4125/// ## Notes
4126///
4127/// Only applies to Log Record processors which use a queue, e.g. the SDK Batching Log Record Processor
4128/// ## Metadata
4129/// | | |
4130/// |:-|:-
4131/// | Instrument: | `updowncounter` |
4132/// | Unit: | `{log_record}` |
4133/// | Status: | `Development` |
4134///
4135/// ## Attributes
4136/// | Name | Requirement |
4137/// |:-|:- |
4138/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4139/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4140#[cfg(feature = "semconv_experimental")]
4141pub const OTEL_SDK_PROCESSOR_LOG_QUEUE_CAPACITY: &str = "otel.sdk.processor.log.queue.capacity";
4142
4143/// ## Description
4144///
4145/// The number of log records in the queue of a given instance of an SDK log processor
4146///
4147/// ## Notes
4148///
4149/// Only applies to log record processors which use a queue, e.g. the SDK Batching Log Record Processor
4150/// ## Metadata
4151/// | | |
4152/// |:-|:-
4153/// | Instrument: | `updowncounter` |
4154/// | Unit: | `{log_record}` |
4155/// | Status: | `Development` |
4156///
4157/// ## Attributes
4158/// | Name | Requirement |
4159/// |:-|:- |
4160/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4161/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4162#[cfg(feature = "semconv_experimental")]
4163pub const OTEL_SDK_PROCESSOR_LOG_QUEUE_SIZE: &str = "otel.sdk.processor.log.queue.size";
4164
4165/// ## Description
4166///
4167/// The number of spans for which the processing has finished, either successful or failed
4168///
4169/// ## Notes
4170///
4171/// For successful processing, `error.type` MUST NOT be set. For failed processing, `error.type` MUST contain the failure cause.
4172/// For the SDK Simple and Batching Span Processor a span is considered to be processed already when it has been submitted to the exporter, not when the corresponding export call has finished
4173/// ## Metadata
4174/// | | |
4175/// |:-|:-
4176/// | Instrument: | `counter` |
4177/// | Unit: | `{span}` |
4178/// | Status: | `Development` |
4179///
4180/// ## Attributes
4181/// | Name | Requirement |
4182/// |:-|:- |
4183/// | [`crate::attribute::ERROR_TYPE`] | `Recommended`
4184/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4185/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4186#[cfg(feature = "semconv_experimental")]
4187pub const OTEL_SDK_PROCESSOR_SPAN_PROCESSED: &str = "otel.sdk.processor.span.processed";
4188
4189/// ## Description
4190///
4191/// Deprecated, use `otel.sdk.processor.span.processed` instead
4192/// ## Metadata
4193/// | | |
4194/// |:-|:-
4195/// | Instrument: | `updowncounter` |
4196/// | Unit: | `{span}` |
4197/// | Status: | `Development` |
4198#[cfg(feature = "semconv_experimental")]
4199#[deprecated(
4200 note = "{note: Renamed to `otel.sdk.processor.span.processed`., reason: uncategorized}"
4201)]
4202pub const OTEL_SDK_PROCESSOR_SPAN_PROCESSED_COUNT: &str = "otel.sdk.processor.span.processed.count";
4203
4204/// ## Description
4205///
4206/// The maximum number of spans the queue of a given instance of an SDK span processor can hold
4207///
4208/// ## Notes
4209///
4210/// Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor
4211/// ## Metadata
4212/// | | |
4213/// |:-|:-
4214/// | Instrument: | `updowncounter` |
4215/// | Unit: | `{span}` |
4216/// | Status: | `Development` |
4217///
4218/// ## Attributes
4219/// | Name | Requirement |
4220/// |:-|:- |
4221/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4222/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4223#[cfg(feature = "semconv_experimental")]
4224pub const OTEL_SDK_PROCESSOR_SPAN_QUEUE_CAPACITY: &str = "otel.sdk.processor.span.queue.capacity";
4225
4226/// ## Description
4227///
4228/// The number of spans in the queue of a given instance of an SDK span processor
4229///
4230/// ## Notes
4231///
4232/// Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor
4233/// ## Metadata
4234/// | | |
4235/// |:-|:-
4236/// | Instrument: | `updowncounter` |
4237/// | Unit: | `{span}` |
4238/// | Status: | `Development` |
4239///
4240/// ## Attributes
4241/// | Name | Requirement |
4242/// |:-|:- |
4243/// | [`crate::attribute::OTEL_COMPONENT_NAME`] | `Recommended`
4244/// | [`crate::attribute::OTEL_COMPONENT_TYPE`] | `Recommended`
4245#[cfg(feature = "semconv_experimental")]
4246pub const OTEL_SDK_PROCESSOR_SPAN_QUEUE_SIZE: &str = "otel.sdk.processor.span.queue.size";
4247
4248/// ## Description
4249///
4250/// The number of created spans for which the end operation was called
4251///
4252/// ## Notes
4253///
4254/// For spans with `recording=true`: Implementations MUST record both `otel.sdk.span.live` and `otel.sdk.span.ended`.
4255/// For spans with `recording=false`: If implementations decide to record this metric, they MUST also record `otel.sdk.span.live`
4256/// ## Metadata
4257/// | | |
4258/// |:-|:-
4259/// | Instrument: | `counter` |
4260/// | Unit: | `{span}` |
4261/// | Status: | `Development` |
4262///
4263/// ## Attributes
4264/// | Name | Requirement |
4265/// |:-|:- |
4266/// | [`crate::attribute::OTEL_SPAN_SAMPLING_RESULT`] | `Recommended`
4267#[cfg(feature = "semconv_experimental")]
4268pub const OTEL_SDK_SPAN_ENDED: &str = "otel.sdk.span.ended";
4269
4270/// ## Description
4271///
4272/// Deprecated, use `otel.sdk.span.ended` instead
4273/// ## Metadata
4274/// | | |
4275/// |:-|:-
4276/// | Instrument: | `counter` |
4277/// | Unit: | `{span}` |
4278/// | Status: | `Development` |
4279#[cfg(feature = "semconv_experimental")]
4280#[deprecated(note = "{note: Renamed to `otel.sdk.span.ended`., reason: uncategorized}")]
4281pub const OTEL_SDK_SPAN_ENDED_COUNT: &str = "otel.sdk.span.ended.count";
4282
4283/// ## Description
4284///
4285/// The number of created spans for which the end operation has not been called yet
4286///
4287/// ## Notes
4288///
4289/// For spans with `recording=true`: Implementations MUST record both `otel.sdk.span.live` and `otel.sdk.span.ended`.
4290/// For spans with `recording=false`: If implementations decide to record this metric, they MUST also record `otel.sdk.span.ended`
4291/// ## Metadata
4292/// | | |
4293/// |:-|:-
4294/// | Instrument: | `updowncounter` |
4295/// | Unit: | `{span}` |
4296/// | Status: | `Development` |
4297///
4298/// ## Attributes
4299/// | Name | Requirement |
4300/// |:-|:- |
4301/// | [`crate::attribute::OTEL_SPAN_SAMPLING_RESULT`] | `Recommended`
4302#[cfg(feature = "semconv_experimental")]
4303pub const OTEL_SDK_SPAN_LIVE: &str = "otel.sdk.span.live";
4304
4305/// ## Description
4306///
4307/// Deprecated, use `otel.sdk.span.live` instead
4308/// ## Metadata
4309/// | | |
4310/// |:-|:-
4311/// | Instrument: | `updowncounter` |
4312/// | Unit: | `{span}` |
4313/// | Status: | `Development` |
4314#[cfg(feature = "semconv_experimental")]
4315#[deprecated(note = "{note: Renamed to `otel.sdk.span.live`., reason: uncategorized}")]
4316pub const OTEL_SDK_SPAN_LIVE_COUNT: &str = "otel.sdk.span.live.count";
4317
4318/// ## Description
4319///
4320/// Number of times the process has been context switched
4321/// ## Metadata
4322/// | | |
4323/// |:-|:-
4324/// | Instrument: | `counter` |
4325/// | Unit: | `{context_switch}` |
4326/// | Status: | `Development` |
4327///
4328/// ## Attributes
4329/// | Name | Requirement |
4330/// |:-|:- |
4331/// | [`crate::attribute::PROCESS_CONTEXT_SWITCH_TYPE`] | `Recommended`
4332#[cfg(feature = "semconv_experimental")]
4333pub const PROCESS_CONTEXT_SWITCHES: &str = "process.context_switches";
4334
4335/// ## Description
4336///
4337/// Total CPU seconds broken down by different states
4338/// ## Metadata
4339/// | | |
4340/// |:-|:-
4341/// | Instrument: | `counter` |
4342/// | Unit: | `s` |
4343/// | Status: | `Development` |
4344///
4345/// ## Attributes
4346/// | Name | Requirement |
4347/// |:-|:- |
4348/// | [`crate::attribute::CPU_MODE`] | `Recommended`
4349#[cfg(feature = "semconv_experimental")]
4350pub const PROCESS_CPU_TIME: &str = "process.cpu.time";
4351
4352/// ## Description
4353///
4354/// Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process
4355/// ## Metadata
4356/// | | |
4357/// |:-|:-
4358/// | Instrument: | `gauge` |
4359/// | Unit: | `1` |
4360/// | Status: | `Development` |
4361///
4362/// ## Attributes
4363/// | Name | Requirement |
4364/// |:-|:- |
4365/// | [`crate::attribute::CPU_MODE`] | `Recommended`
4366#[cfg(feature = "semconv_experimental")]
4367pub const PROCESS_CPU_UTILIZATION: &str = "process.cpu.utilization";
4368
4369/// ## Description
4370///
4371/// Disk bytes transferred
4372/// ## Metadata
4373/// | | |
4374/// |:-|:-
4375/// | Instrument: | `counter` |
4376/// | Unit: | `By` |
4377/// | Status: | `Development` |
4378///
4379/// ## Attributes
4380/// | Name | Requirement |
4381/// |:-|:- |
4382/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4383#[cfg(feature = "semconv_experimental")]
4384pub const PROCESS_DISK_IO: &str = "process.disk.io";
4385
4386/// ## Description
4387///
4388/// The amount of physical memory in use
4389/// ## Metadata
4390/// | | |
4391/// |:-|:-
4392/// | Instrument: | `updowncounter` |
4393/// | Unit: | `By` |
4394/// | Status: | `Development` |
4395#[cfg(feature = "semconv_experimental")]
4396pub const PROCESS_MEMORY_USAGE: &str = "process.memory.usage";
4397
4398/// ## Description
4399///
4400/// The amount of committed virtual memory
4401/// ## Metadata
4402/// | | |
4403/// |:-|:-
4404/// | Instrument: | `updowncounter` |
4405/// | Unit: | `By` |
4406/// | Status: | `Development` |
4407#[cfg(feature = "semconv_experimental")]
4408pub const PROCESS_MEMORY_VIRTUAL: &str = "process.memory.virtual";
4409
4410/// ## Description
4411///
4412/// Network bytes transferred
4413/// ## Metadata
4414/// | | |
4415/// |:-|:-
4416/// | Instrument: | `counter` |
4417/// | Unit: | `By` |
4418/// | Status: | `Development` |
4419///
4420/// ## Attributes
4421/// | Name | Requirement |
4422/// |:-|:- |
4423/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
4424#[cfg(feature = "semconv_experimental")]
4425pub const PROCESS_NETWORK_IO: &str = "process.network.io";
4426
4427/// ## Description
4428///
4429/// Number of file descriptors in use by the process
4430/// ## Metadata
4431/// | | |
4432/// |:-|:-
4433/// | Instrument: | `updowncounter` |
4434/// | Unit: | `{file_descriptor}` |
4435/// | Status: | `Development` |
4436#[cfg(feature = "semconv_experimental")]
4437pub const PROCESS_OPEN_FILE_DESCRIPTOR_COUNT: &str = "process.open_file_descriptor.count";
4438
4439/// ## Description
4440///
4441/// Number of page faults the process has made
4442/// ## Metadata
4443/// | | |
4444/// |:-|:-
4445/// | Instrument: | `counter` |
4446/// | Unit: | `{fault}` |
4447/// | Status: | `Development` |
4448///
4449/// ## Attributes
4450/// | Name | Requirement |
4451/// |:-|:- |
4452/// | [`crate::attribute::PROCESS_PAGING_FAULT_TYPE`] | `Recommended`
4453#[cfg(feature = "semconv_experimental")]
4454pub const PROCESS_PAGING_FAULTS: &str = "process.paging.faults";
4455
4456/// ## Description
4457///
4458/// Process threads count
4459/// ## Metadata
4460/// | | |
4461/// |:-|:-
4462/// | Instrument: | `updowncounter` |
4463/// | Unit: | `{thread}` |
4464/// | Status: | `Development` |
4465#[cfg(feature = "semconv_experimental")]
4466pub const PROCESS_THREAD_COUNT: &str = "process.thread.count";
4467
4468/// ## Description
4469///
4470/// The time the process has been running.
4471///
4472/// ## Notes
4473///
4474/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
4475/// The actual accuracy would depend on the instrumentation and operating system
4476/// ## Metadata
4477/// | | |
4478/// |:-|:-
4479/// | Instrument: | `gauge` |
4480/// | Unit: | `s` |
4481/// | Status: | `Development` |
4482#[cfg(feature = "semconv_experimental")]
4483pub const PROCESS_UPTIME: &str = "process.uptime";
4484
4485/// ## Description
4486///
4487/// Measures the duration of outbound RPC.
4488///
4489/// ## Notes
4490///
4491/// While streaming RPCs may record this metric as start-of-batch
4492/// to end-of-batch, it's hard to interpret in practice.
4493///
4494/// **Streaming**: N/A
4495/// ## Metadata
4496/// | | |
4497/// |:-|:-
4498/// | Instrument: | `histogram` |
4499/// | Unit: | `ms` |
4500/// | Status: | `Development` |
4501#[cfg(feature = "semconv_experimental")]
4502pub const RPC_CLIENT_DURATION: &str = "rpc.client.duration";
4503
4504/// ## Description
4505///
4506/// Measures the size of RPC request messages (uncompressed).
4507///
4508/// ## Notes
4509///
4510/// **Streaming**: Recorded per message in a streaming batch
4511/// ## Metadata
4512/// | | |
4513/// |:-|:-
4514/// | Instrument: | `histogram` |
4515/// | Unit: | `By` |
4516/// | Status: | `Development` |
4517#[cfg(feature = "semconv_experimental")]
4518pub const RPC_CLIENT_REQUEST_SIZE: &str = "rpc.client.request.size";
4519
4520/// ## Description
4521///
4522/// Measures the number of messages received per RPC.
4523///
4524/// ## Notes
4525///
4526/// Should be 1 for all non-streaming RPCs.
4527///
4528/// **Streaming**: This metric is required for server and client streaming RPCs
4529/// ## Metadata
4530/// | | |
4531/// |:-|:-
4532/// | Instrument: | `histogram` |
4533/// | Unit: | `{count}` |
4534/// | Status: | `Development` |
4535#[cfg(feature = "semconv_experimental")]
4536pub const RPC_CLIENT_REQUESTS_PER_RPC: &str = "rpc.client.requests_per_rpc";
4537
4538/// ## Description
4539///
4540/// Measures the size of RPC response messages (uncompressed).
4541///
4542/// ## Notes
4543///
4544/// **Streaming**: Recorded per response in a streaming batch
4545/// ## Metadata
4546/// | | |
4547/// |:-|:-
4548/// | Instrument: | `histogram` |
4549/// | Unit: | `By` |
4550/// | Status: | `Development` |
4551#[cfg(feature = "semconv_experimental")]
4552pub const RPC_CLIENT_RESPONSE_SIZE: &str = "rpc.client.response.size";
4553
4554/// ## Description
4555///
4556/// Measures the number of messages sent per RPC.
4557///
4558/// ## Notes
4559///
4560/// Should be 1 for all non-streaming RPCs.
4561///
4562/// **Streaming**: This metric is required for server and client streaming RPCs
4563/// ## Metadata
4564/// | | |
4565/// |:-|:-
4566/// | Instrument: | `histogram` |
4567/// | Unit: | `{count}` |
4568/// | Status: | `Development` |
4569#[cfg(feature = "semconv_experimental")]
4570pub const RPC_CLIENT_RESPONSES_PER_RPC: &str = "rpc.client.responses_per_rpc";
4571
4572/// ## Description
4573///
4574/// Measures the duration of inbound RPC.
4575///
4576/// ## Notes
4577///
4578/// While streaming RPCs may record this metric as start-of-batch
4579/// to end-of-batch, it's hard to interpret in practice.
4580///
4581/// **Streaming**: N/A
4582/// ## Metadata
4583/// | | |
4584/// |:-|:-
4585/// | Instrument: | `histogram` |
4586/// | Unit: | `ms` |
4587/// | Status: | `Development` |
4588#[cfg(feature = "semconv_experimental")]
4589pub const RPC_SERVER_DURATION: &str = "rpc.server.duration";
4590
4591/// ## Description
4592///
4593/// Measures the size of RPC request messages (uncompressed).
4594///
4595/// ## Notes
4596///
4597/// **Streaming**: Recorded per message in a streaming batch
4598/// ## Metadata
4599/// | | |
4600/// |:-|:-
4601/// | Instrument: | `histogram` |
4602/// | Unit: | `By` |
4603/// | Status: | `Development` |
4604#[cfg(feature = "semconv_experimental")]
4605pub const RPC_SERVER_REQUEST_SIZE: &str = "rpc.server.request.size";
4606
4607/// ## Description
4608///
4609/// Measures the number of messages received per RPC.
4610///
4611/// ## Notes
4612///
4613/// Should be 1 for all non-streaming RPCs.
4614///
4615/// **Streaming** : This metric is required for server and client streaming RPCs
4616/// ## Metadata
4617/// | | |
4618/// |:-|:-
4619/// | Instrument: | `histogram` |
4620/// | Unit: | `{count}` |
4621/// | Status: | `Development` |
4622#[cfg(feature = "semconv_experimental")]
4623pub const RPC_SERVER_REQUESTS_PER_RPC: &str = "rpc.server.requests_per_rpc";
4624
4625/// ## Description
4626///
4627/// Measures the size of RPC response messages (uncompressed).
4628///
4629/// ## Notes
4630///
4631/// **Streaming**: Recorded per response in a streaming batch
4632/// ## Metadata
4633/// | | |
4634/// |:-|:-
4635/// | Instrument: | `histogram` |
4636/// | Unit: | `By` |
4637/// | Status: | `Development` |
4638#[cfg(feature = "semconv_experimental")]
4639pub const RPC_SERVER_RESPONSE_SIZE: &str = "rpc.server.response.size";
4640
4641/// ## Description
4642///
4643/// Measures the number of messages sent per RPC.
4644///
4645/// ## Notes
4646///
4647/// Should be 1 for all non-streaming RPCs.
4648///
4649/// **Streaming**: This metric is required for server and client streaming RPCs
4650/// ## Metadata
4651/// | | |
4652/// |:-|:-
4653/// | Instrument: | `histogram` |
4654/// | Unit: | `{count}` |
4655/// | Status: | `Development` |
4656#[cfg(feature = "semconv_experimental")]
4657pub const RPC_SERVER_RESPONSES_PER_RPC: &str = "rpc.server.responses_per_rpc";
4658
4659/// ## Description
4660///
4661/// Number of connections that are currently active on the server.
4662///
4663/// ## Notes
4664///
4665/// Meter name: `Microsoft.AspNetCore.Http.Connections`; Added in: ASP.NET Core 8.0
4666/// ## Metadata
4667/// | | |
4668/// |:-|:-
4669/// | Instrument: | `updowncounter` |
4670/// | Unit: | `{connection}` |
4671/// | Status: | `Stable` |
4672///
4673/// ## Attributes
4674/// | Name | Requirement |
4675/// |:-|:- |
4676/// | [`crate::attribute::SIGNALR_CONNECTION_STATUS`] | `Recommended`
4677/// | [`crate::attribute::SIGNALR_TRANSPORT`] | `Recommended`
4678pub const SIGNALR_SERVER_ACTIVE_CONNECTIONS: &str = "signalr.server.active_connections";
4679
4680/// ## Description
4681///
4682/// The duration of connections on the server.
4683///
4684/// ## Notes
4685///
4686/// Meter name: `Microsoft.AspNetCore.Http.Connections`; Added in: ASP.NET Core 8.0
4687/// ## Metadata
4688/// | | |
4689/// |:-|:-
4690/// | Instrument: | `histogram` |
4691/// | Unit: | `s` |
4692/// | Status: | `Stable` |
4693///
4694/// ## Attributes
4695/// | Name | Requirement |
4696/// |:-|:- |
4697/// | [`crate::attribute::SIGNALR_CONNECTION_STATUS`] | `Recommended`
4698/// | [`crate::attribute::SIGNALR_TRANSPORT`] | `Recommended`
4699pub const SIGNALR_SERVER_CONNECTION_DURATION: &str = "signalr.server.connection.duration";
4700
4701/// ## Description
4702///
4703/// Deprecated. Use `cpu.frequency` instead
4704/// ## Metadata
4705/// | | |
4706/// |:-|:-
4707/// | Instrument: | `gauge` |
4708/// | Unit: | `{Hz}` |
4709/// | Status: | `Development` |
4710#[cfg(feature = "semconv_experimental")]
4711#[deprecated(note = "{note: Replaced by `cpu.frequency`., reason: uncategorized}")]
4712pub const SYSTEM_CPU_FREQUENCY: &str = "system.cpu.frequency";
4713
4714/// ## Description
4715///
4716/// Reports the number of logical (virtual) processor cores created by the operating system to manage multitasking
4717///
4718/// ## Notes
4719///
4720/// Calculated by multiplying the number of sockets by the number of cores per socket, and then by the number of threads per core
4721/// ## Metadata
4722/// | | |
4723/// |:-|:-
4724/// | Instrument: | `updowncounter` |
4725/// | Unit: | `{cpu}` |
4726/// | Status: | `Development` |
4727#[cfg(feature = "semconv_experimental")]
4728pub const SYSTEM_CPU_LOGICAL_COUNT: &str = "system.cpu.logical.count";
4729
4730/// ## Description
4731///
4732/// Reports the number of actual physical processor cores on the hardware
4733///
4734/// ## Notes
4735///
4736/// Calculated by multiplying the number of sockets by the number of cores per socket
4737/// ## Metadata
4738/// | | |
4739/// |:-|:-
4740/// | Instrument: | `updowncounter` |
4741/// | Unit: | `{cpu}` |
4742/// | Status: | `Development` |
4743#[cfg(feature = "semconv_experimental")]
4744pub const SYSTEM_CPU_PHYSICAL_COUNT: &str = "system.cpu.physical.count";
4745
4746/// ## Description
4747///
4748/// Deprecated. Use `cpu.time` instead
4749/// ## Metadata
4750/// | | |
4751/// |:-|:-
4752/// | Instrument: | `counter` |
4753/// | Unit: | `s` |
4754/// | Status: | `Development` |
4755#[cfg(feature = "semconv_experimental")]
4756#[deprecated(note = "{note: Replaced by `cpu.time`., reason: uncategorized}")]
4757pub const SYSTEM_CPU_TIME: &str = "system.cpu.time";
4758
4759/// ## Description
4760///
4761/// Deprecated. Use `cpu.utilization` instead
4762/// ## Metadata
4763/// | | |
4764/// |:-|:-
4765/// | Instrument: | `gauge` |
4766/// | Unit: | `1` |
4767/// | Status: | `Development` |
4768#[cfg(feature = "semconv_experimental")]
4769#[deprecated(note = "{note: Replaced by `cpu.utilization`., reason: uncategorized}")]
4770pub const SYSTEM_CPU_UTILIZATION: &str = "system.cpu.utilization";
4771
4772/// ## Description
4773/// ## Metadata
4774/// | | |
4775/// |:-|:-
4776/// | Instrument: | `counter` |
4777/// | Unit: | `By` |
4778/// | Status: | `Development` |
4779///
4780/// ## Attributes
4781/// | Name | Requirement |
4782/// |:-|:- |
4783/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4784/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4785#[cfg(feature = "semconv_experimental")]
4786pub const SYSTEM_DISK_IO: &str = "system.disk.io";
4787
4788/// ## Description
4789///
4790/// Time disk spent activated
4791///
4792/// ## Notes
4793///
4794/// The real elapsed time ("wall clock") used in the I/O path (time from operations running in parallel are not counted). Measured as:
4795///
4796/// - Linux: Field 13 from [procfs-diskstats](https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats)
4797/// - Windows: The complement of
4798/// ["Disk% Idle Time"](https://learn.microsoft.com/archive/blogs/askcore/windows-performance-monitor-disk-counters-explained#windows-performance-monitor-disk-counters-explained)
4799/// performance counter: `uptime * (100 - "Disk\% Idle Time") / 100`
4800/// ## Metadata
4801/// | | |
4802/// |:-|:-
4803/// | Instrument: | `counter` |
4804/// | Unit: | `s` |
4805/// | Status: | `Development` |
4806///
4807/// ## Attributes
4808/// | Name | Requirement |
4809/// |:-|:- |
4810/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4811#[cfg(feature = "semconv_experimental")]
4812pub const SYSTEM_DISK_IO_TIME: &str = "system.disk.io_time";
4813
4814/// ## Description
4815///
4816/// The total storage capacity of the disk
4817/// ## Metadata
4818/// | | |
4819/// |:-|:-
4820/// | Instrument: | `updowncounter` |
4821/// | Unit: | `By` |
4822/// | Status: | `Development` |
4823///
4824/// ## Attributes
4825/// | Name | Requirement |
4826/// |:-|:- |
4827/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4828#[cfg(feature = "semconv_experimental")]
4829pub const SYSTEM_DISK_LIMIT: &str = "system.disk.limit";
4830
4831/// ## Description
4832/// ## Metadata
4833/// | | |
4834/// |:-|:-
4835/// | Instrument: | `counter` |
4836/// | Unit: | `{operation}` |
4837/// | Status: | `Development` |
4838///
4839/// ## Attributes
4840/// | Name | Requirement |
4841/// |:-|:- |
4842/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4843/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4844#[cfg(feature = "semconv_experimental")]
4845pub const SYSTEM_DISK_MERGED: &str = "system.disk.merged";
4846
4847/// ## Description
4848///
4849/// Sum of the time each operation took to complete
4850///
4851/// ## Notes
4852///
4853/// Because it is the sum of time each request took, parallel-issued requests each contribute to make the count grow. Measured as:
4854///
4855/// - Linux: Fields 7 & 11 from [procfs-diskstats](https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats)
4856/// - Windows: "Avg. Disk sec/Read" perf counter multiplied by "Disk Reads/sec" perf counter (similar for Writes)
4857/// ## Metadata
4858/// | | |
4859/// |:-|:-
4860/// | Instrument: | `counter` |
4861/// | Unit: | `s` |
4862/// | Status: | `Development` |
4863///
4864/// ## Attributes
4865/// | Name | Requirement |
4866/// |:-|:- |
4867/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4868/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4869#[cfg(feature = "semconv_experimental")]
4870pub const SYSTEM_DISK_OPERATION_TIME: &str = "system.disk.operation_time";
4871
4872/// ## Description
4873/// ## Metadata
4874/// | | |
4875/// |:-|:-
4876/// | Instrument: | `counter` |
4877/// | Unit: | `{operation}` |
4878/// | Status: | `Development` |
4879///
4880/// ## Attributes
4881/// | Name | Requirement |
4882/// |:-|:- |
4883/// | [`crate::attribute::DISK_IO_DIRECTION`] | `Recommended`
4884/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4885#[cfg(feature = "semconv_experimental")]
4886pub const SYSTEM_DISK_OPERATIONS: &str = "system.disk.operations";
4887
4888/// ## Description
4889///
4890/// The total storage capacity of the filesystem
4891/// ## Metadata
4892/// | | |
4893/// |:-|:-
4894/// | Instrument: | `updowncounter` |
4895/// | Unit: | `By` |
4896/// | Status: | `Development` |
4897///
4898/// ## Attributes
4899/// | Name | Requirement |
4900/// |:-|:- |
4901/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4902/// | [`crate::attribute::SYSTEM_FILESYSTEM_MODE`] | `Recommended`
4903/// | [`crate::attribute::SYSTEM_FILESYSTEM_MOUNTPOINT`] | `Recommended`
4904/// | [`crate::attribute::SYSTEM_FILESYSTEM_TYPE`] | `Recommended`
4905#[cfg(feature = "semconv_experimental")]
4906pub const SYSTEM_FILESYSTEM_LIMIT: &str = "system.filesystem.limit";
4907
4908/// ## Description
4909///
4910/// Reports a filesystem's space usage across different states.
4911///
4912/// ## Notes
4913///
4914/// The sum of all `system.filesystem.usage` values over the different `system.filesystem.state` attributes
4915/// SHOULD equal the total storage capacity of the filesystem, that is `system.filesystem.limit`
4916/// ## Metadata
4917/// | | |
4918/// |:-|:-
4919/// | Instrument: | `updowncounter` |
4920/// | Unit: | `By` |
4921/// | Status: | `Development` |
4922///
4923/// ## Attributes
4924/// | Name | Requirement |
4925/// |:-|:- |
4926/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4927/// | [`crate::attribute::SYSTEM_FILESYSTEM_MODE`] | `Recommended`
4928/// | [`crate::attribute::SYSTEM_FILESYSTEM_MOUNTPOINT`] | `Recommended`
4929/// | [`crate::attribute::SYSTEM_FILESYSTEM_STATE`] | `Recommended`
4930/// | [`crate::attribute::SYSTEM_FILESYSTEM_TYPE`] | `Recommended`
4931#[cfg(feature = "semconv_experimental")]
4932pub const SYSTEM_FILESYSTEM_USAGE: &str = "system.filesystem.usage";
4933
4934/// ## Description
4935/// ## Metadata
4936/// | | |
4937/// |:-|:-
4938/// | Instrument: | `gauge` |
4939/// | Unit: | `1` |
4940/// | Status: | `Development` |
4941///
4942/// ## Attributes
4943/// | Name | Requirement |
4944/// |:-|:- |
4945/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
4946/// | [`crate::attribute::SYSTEM_FILESYSTEM_MODE`] | `Recommended`
4947/// | [`crate::attribute::SYSTEM_FILESYSTEM_MOUNTPOINT`] | `Recommended`
4948/// | [`crate::attribute::SYSTEM_FILESYSTEM_STATE`] | `Recommended`
4949/// | [`crate::attribute::SYSTEM_FILESYSTEM_TYPE`] | `Recommended`
4950#[cfg(feature = "semconv_experimental")]
4951pub const SYSTEM_FILESYSTEM_UTILIZATION: &str = "system.filesystem.utilization";
4952
4953/// ## Description
4954///
4955/// An estimate of how much memory is available for starting new applications, without causing swapping
4956///
4957/// ## Notes
4958///
4959/// This is an alternative to `system.memory.usage` metric with `state=free`.
4960/// Linux starting from 3.14 exports "available" memory. It takes "free" memory as a baseline, and then factors in kernel-specific values.
4961/// This is supposed to be more accurate than just "free" memory.
4962/// For reference, see the calculations [here](https://superuser.com/a/980821).
4963/// See also `MemAvailable` in [/proc/meminfo](https://man7.org/linux/man-pages/man5/proc.5.html)
4964/// ## Metadata
4965/// | | |
4966/// |:-|:-
4967/// | Instrument: | `updowncounter` |
4968/// | Unit: | `By` |
4969/// | Status: | `Development` |
4970#[cfg(feature = "semconv_experimental")]
4971pub const SYSTEM_LINUX_MEMORY_AVAILABLE: &str = "system.linux.memory.available";
4972
4973/// ## Description
4974///
4975/// Reports the memory used by the Linux kernel for managing caches of frequently used objects.
4976///
4977/// ## Notes
4978///
4979/// 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.
4980/// Note that the total slab memory is not constant and may vary over time.
4981/// 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)
4982/// ## Metadata
4983/// | | |
4984/// |:-|:-
4985/// | Instrument: | `updowncounter` |
4986/// | Unit: | `By` |
4987/// | Status: | `Development` |
4988///
4989/// ## Attributes
4990/// | Name | Requirement |
4991/// |:-|:- |
4992/// | [`crate::attribute::LINUX_MEMORY_SLAB_STATE`] | `Recommended`
4993#[cfg(feature = "semconv_experimental")]
4994pub const SYSTEM_LINUX_MEMORY_SLAB_USAGE: &str = "system.linux.memory.slab.usage";
4995
4996/// ## Description
4997///
4998/// Total memory available in the system.
4999///
5000/// ## Notes
5001///
5002/// Its value SHOULD equal the sum of `system.memory.state` over all states
5003/// ## Metadata
5004/// | | |
5005/// |:-|:-
5006/// | Instrument: | `updowncounter` |
5007/// | Unit: | `By` |
5008/// | Status: | `Development` |
5009#[cfg(feature = "semconv_experimental")]
5010pub const SYSTEM_MEMORY_LIMIT: &str = "system.memory.limit";
5011
5012/// ## Description
5013///
5014/// Shared memory used (mostly by tmpfs).
5015///
5016/// ## Notes
5017///
5018/// Equivalent of `shared` from [`free` command](https://man7.org/linux/man-pages/man1/free.1.html) or
5019/// `Shmem` from [`/proc/meminfo`](https://man7.org/linux/man-pages/man5/proc.5.html)"
5020/// ## Metadata
5021/// | | |
5022/// |:-|:-
5023/// | Instrument: | `updowncounter` |
5024/// | Unit: | `By` |
5025/// | Status: | `Development` |
5026#[cfg(feature = "semconv_experimental")]
5027pub const SYSTEM_MEMORY_SHARED: &str = "system.memory.shared";
5028
5029/// ## Description
5030///
5031/// Reports memory in use by state.
5032///
5033/// ## Notes
5034///
5035/// The sum over all `system.memory.state` values SHOULD equal the total memory
5036/// available on the system, that is `system.memory.limit`
5037/// ## Metadata
5038/// | | |
5039/// |:-|:-
5040/// | Instrument: | `updowncounter` |
5041/// | Unit: | `By` |
5042/// | Status: | `Development` |
5043///
5044/// ## Attributes
5045/// | Name | Requirement |
5046/// |:-|:- |
5047/// | [`crate::attribute::SYSTEM_MEMORY_STATE`] | `Recommended`
5048#[cfg(feature = "semconv_experimental")]
5049pub const SYSTEM_MEMORY_USAGE: &str = "system.memory.usage";
5050
5051/// ## Description
5052/// ## Metadata
5053/// | | |
5054/// |:-|:-
5055/// | Instrument: | `gauge` |
5056/// | Unit: | `1` |
5057/// | Status: | `Development` |
5058///
5059/// ## Attributes
5060/// | Name | Requirement |
5061/// |:-|:- |
5062/// | [`crate::attribute::SYSTEM_MEMORY_STATE`] | `Recommended`
5063#[cfg(feature = "semconv_experimental")]
5064pub const SYSTEM_MEMORY_UTILIZATION: &str = "system.memory.utilization";
5065
5066/// ## Description
5067/// ## Metadata
5068/// | | |
5069/// |:-|:-
5070/// | Instrument: | `updowncounter` |
5071/// | Unit: | `{connection}` |
5072/// | Status: | `Development` |
5073///
5074/// ## Attributes
5075/// | Name | Requirement |
5076/// |:-|:- |
5077/// | [`crate::attribute::NETWORK_CONNECTION_STATE`] | `Recommended`
5078/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
5079/// | [`crate::attribute::NETWORK_TRANSPORT`] | `Recommended`
5080#[cfg(feature = "semconv_experimental")]
5081pub const SYSTEM_NETWORK_CONNECTIONS: &str = "system.network.connections";
5082
5083/// ## Description
5084///
5085/// Count of packets that are dropped or discarded even though there was no error
5086///
5087/// ## Notes
5088///
5089/// Measured as:
5090///
5091/// - 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))
5092/// - Windows: [`InDiscards`/`OutDiscards`](https://docs.microsoft.com/windows/win32/api/netioapi/ns-netioapi-mib_if_row2)
5093/// from [`GetIfEntry2`](https://docs.microsoft.com/windows/win32/api/netioapi/nf-netioapi-getifentry2)
5094/// ## Metadata
5095/// | | |
5096/// |:-|:-
5097/// | Instrument: | `counter` |
5098/// | Unit: | `{packet}` |
5099/// | Status: | `Development` |
5100///
5101/// ## Attributes
5102/// | Name | Requirement |
5103/// |:-|:- |
5104/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
5105/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
5106#[cfg(feature = "semconv_experimental")]
5107pub const SYSTEM_NETWORK_DROPPED: &str = "system.network.dropped";
5108
5109/// ## Description
5110///
5111/// Count of network errors detected
5112///
5113/// ## Notes
5114///
5115/// Measured as:
5116///
5117/// - 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)).
5118/// - Windows: [`InErrors`/`OutErrors`](https://docs.microsoft.com/windows/win32/api/netioapi/ns-netioapi-mib_if_row2)
5119/// from [`GetIfEntry2`](https://docs.microsoft.com/windows/win32/api/netioapi/nf-netioapi-getifentry2)
5120/// ## Metadata
5121/// | | |
5122/// |:-|:-
5123/// | Instrument: | `counter` |
5124/// | Unit: | `{error}` |
5125/// | Status: | `Development` |
5126///
5127/// ## Attributes
5128/// | Name | Requirement |
5129/// |:-|:- |
5130/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
5131/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
5132#[cfg(feature = "semconv_experimental")]
5133pub const SYSTEM_NETWORK_ERRORS: &str = "system.network.errors";
5134
5135/// ## Description
5136/// ## Metadata
5137/// | | |
5138/// |:-|:-
5139/// | Instrument: | `counter` |
5140/// | Unit: | `By` |
5141/// | Status: | `Development` |
5142///
5143/// ## Attributes
5144/// | Name | Requirement |
5145/// |:-|:- |
5146/// | [`crate::attribute::NETWORK_INTERFACE_NAME`] | `Recommended`
5147/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
5148#[cfg(feature = "semconv_experimental")]
5149pub const SYSTEM_NETWORK_IO: &str = "system.network.io";
5150
5151/// ## Description
5152/// ## Metadata
5153/// | | |
5154/// |:-|:-
5155/// | Instrument: | `counter` |
5156/// | Unit: | `{packet}` |
5157/// | Status: | `Development` |
5158///
5159/// ## Attributes
5160/// | Name | Requirement |
5161/// |:-|:- |
5162/// | [`crate::attribute::NETWORK_IO_DIRECTION`] | `Recommended`
5163/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
5164#[cfg(feature = "semconv_experimental")]
5165pub const SYSTEM_NETWORK_PACKETS: &str = "system.network.packets";
5166
5167/// ## Description
5168/// ## Metadata
5169/// | | |
5170/// |:-|:-
5171/// | Instrument: | `counter` |
5172/// | Unit: | `{fault}` |
5173/// | Status: | `Development` |
5174///
5175/// ## Attributes
5176/// | Name | Requirement |
5177/// |:-|:- |
5178/// | [`crate::attribute::SYSTEM_PAGING_TYPE`] | `Recommended`
5179#[cfg(feature = "semconv_experimental")]
5180pub const SYSTEM_PAGING_FAULTS: &str = "system.paging.faults";
5181
5182/// ## Description
5183/// ## Metadata
5184/// | | |
5185/// |:-|:-
5186/// | Instrument: | `counter` |
5187/// | Unit: | `{operation}` |
5188/// | Status: | `Development` |
5189///
5190/// ## Attributes
5191/// | Name | Requirement |
5192/// |:-|:- |
5193/// | [`crate::attribute::SYSTEM_PAGING_DIRECTION`] | `Recommended`
5194/// | [`crate::attribute::SYSTEM_PAGING_TYPE`] | `Recommended`
5195#[cfg(feature = "semconv_experimental")]
5196pub const SYSTEM_PAGING_OPERATIONS: &str = "system.paging.operations";
5197
5198/// ## Description
5199///
5200/// Unix swap or windows pagefile usage
5201/// ## Metadata
5202/// | | |
5203/// |:-|:-
5204/// | Instrument: | `updowncounter` |
5205/// | Unit: | `By` |
5206/// | Status: | `Development` |
5207///
5208/// ## Attributes
5209/// | Name | Requirement |
5210/// |:-|:- |
5211/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
5212/// | [`crate::attribute::SYSTEM_PAGING_STATE`] | `Recommended`
5213#[cfg(feature = "semconv_experimental")]
5214pub const SYSTEM_PAGING_USAGE: &str = "system.paging.usage";
5215
5216/// ## Description
5217/// ## Metadata
5218/// | | |
5219/// |:-|:-
5220/// | Instrument: | `gauge` |
5221/// | Unit: | `1` |
5222/// | Status: | `Development` |
5223///
5224/// ## Attributes
5225/// | Name | Requirement |
5226/// |:-|:- |
5227/// | [`crate::attribute::SYSTEM_DEVICE`] | `Recommended`
5228/// | [`crate::attribute::SYSTEM_PAGING_STATE`] | `Recommended`
5229#[cfg(feature = "semconv_experimental")]
5230pub const SYSTEM_PAGING_UTILIZATION: &str = "system.paging.utilization";
5231
5232/// ## Description
5233///
5234/// Total number of processes in each state
5235/// ## Metadata
5236/// | | |
5237/// |:-|:-
5238/// | Instrument: | `updowncounter` |
5239/// | Unit: | `{process}` |
5240/// | Status: | `Development` |
5241///
5242/// ## Attributes
5243/// | Name | Requirement |
5244/// |:-|:- |
5245/// | [`crate::attribute::SYSTEM_PROCESS_STATUS`] | `Recommended`
5246#[cfg(feature = "semconv_experimental")]
5247pub const SYSTEM_PROCESS_COUNT: &str = "system.process.count";
5248
5249/// ## Description
5250///
5251/// Total number of processes created over uptime of the host
5252/// ## Metadata
5253/// | | |
5254/// |:-|:-
5255/// | Instrument: | `counter` |
5256/// | Unit: | `{process}` |
5257/// | Status: | `Development` |
5258#[cfg(feature = "semconv_experimental")]
5259pub const SYSTEM_PROCESS_CREATED: &str = "system.process.created";
5260
5261/// ## Description
5262///
5263/// The time the system has been running
5264///
5265/// ## Notes
5266///
5267/// Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
5268/// The actual accuracy would depend on the instrumentation and operating system
5269/// ## Metadata
5270/// | | |
5271/// |:-|:-
5272/// | Instrument: | `gauge` |
5273/// | Unit: | `s` |
5274/// | Status: | `Development` |
5275#[cfg(feature = "semconv_experimental")]
5276pub const SYSTEM_UPTIME: &str = "system.uptime";
5277
5278/// ## Description
5279///
5280/// Garbage collection duration.
5281///
5282/// ## Notes
5283///
5284/// The values can be retrieved from [`perf_hooks.PerformanceObserver(...).observe({ entryTypes: ['gc'] })`](https://nodejs.org/api/perf_hooks.html#performanceobserverobserveoptions)
5285/// ## Metadata
5286/// | | |
5287/// |:-|:-
5288/// | Instrument: | `histogram` |
5289/// | Unit: | `s` |
5290/// | Status: | `Development` |
5291///
5292/// ## Attributes
5293/// | Name | Requirement |
5294/// |:-|:- |
5295/// | [`crate::attribute::V8JS_GC_TYPE`] | `Required`
5296#[cfg(feature = "semconv_experimental")]
5297pub const V8JS_GC_DURATION: &str = "v8js.gc.duration";
5298
5299/// ## Description
5300///
5301/// Heap space available size.
5302///
5303/// ## Notes
5304///
5305/// Value can be retrieved from value `space_available_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
5306/// ## Metadata
5307/// | | |
5308/// |:-|:-
5309/// | Instrument: | `updowncounter` |
5310/// | Unit: | `By` |
5311/// | Status: | `Development` |
5312///
5313/// ## Attributes
5314/// | Name | Requirement |
5315/// |:-|:- |
5316/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
5317#[cfg(feature = "semconv_experimental")]
5318pub const V8JS_HEAP_SPACE_AVAILABLE_SIZE: &str = "v8js.heap.space.available_size";
5319
5320/// ## Description
5321///
5322/// Committed size of a heap space.
5323///
5324/// ## Notes
5325///
5326/// Value can be retrieved from value `physical_space_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
5327/// ## Metadata
5328/// | | |
5329/// |:-|:-
5330/// | Instrument: | `updowncounter` |
5331/// | Unit: | `By` |
5332/// | Status: | `Development` |
5333///
5334/// ## Attributes
5335/// | Name | Requirement |
5336/// |:-|:- |
5337/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
5338#[cfg(feature = "semconv_experimental")]
5339pub const V8JS_HEAP_SPACE_PHYSICAL_SIZE: &str = "v8js.heap.space.physical_size";
5340
5341/// ## Description
5342///
5343/// Total heap memory size pre-allocated.
5344///
5345/// ## Notes
5346///
5347/// The value can be retrieved from value `space_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
5348/// ## Metadata
5349/// | | |
5350/// |:-|:-
5351/// | Instrument: | `updowncounter` |
5352/// | Unit: | `By` |
5353/// | Status: | `Development` |
5354///
5355/// ## Attributes
5356/// | Name | Requirement |
5357/// |:-|:- |
5358/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
5359#[cfg(feature = "semconv_experimental")]
5360pub const V8JS_MEMORY_HEAP_LIMIT: &str = "v8js.memory.heap.limit";
5361
5362/// ## Description
5363///
5364/// Heap Memory size allocated.
5365///
5366/// ## Notes
5367///
5368/// The value can be retrieved from value `space_used_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
5369/// ## Metadata
5370/// | | |
5371/// |:-|:-
5372/// | Instrument: | `updowncounter` |
5373/// | Unit: | `By` |
5374/// | Status: | `Development` |
5375///
5376/// ## Attributes
5377/// | Name | Requirement |
5378/// |:-|:- |
5379/// | [`crate::attribute::V8JS_HEAP_SPACE_NAME`] | `Required`
5380#[cfg(feature = "semconv_experimental")]
5381pub const V8JS_MEMORY_HEAP_USED: &str = "v8js.memory.heap.used";
5382
5383/// ## Description
5384///
5385/// The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged)
5386/// ## Metadata
5387/// | | |
5388/// |:-|:-
5389/// | Instrument: | `updowncounter` |
5390/// | Unit: | `{change}` |
5391/// | Status: | `Development` |
5392///
5393/// ## Attributes
5394/// | Name | Requirement |
5395/// |:-|:- |
5396/// | [`crate::attribute::VCS_CHANGE_STATE`] | `Required`
5397/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5398/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5399/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5400/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5401#[cfg(feature = "semconv_experimental")]
5402pub const VCS_CHANGE_COUNT: &str = "vcs.change.count";
5403
5404/// ## Description
5405///
5406/// The time duration a change (pull request/merge request/changelist) has been in a given state
5407/// ## Metadata
5408/// | | |
5409/// |:-|:-
5410/// | Instrument: | `gauge` |
5411/// | Unit: | `s` |
5412/// | Status: | `Development` |
5413///
5414/// ## Attributes
5415/// | Name | Requirement |
5416/// |:-|:- |
5417/// | [`crate::attribute::VCS_CHANGE_STATE`] | `Required`
5418/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5419/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5420/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
5421/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5422/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5423#[cfg(feature = "semconv_experimental")]
5424pub const VCS_CHANGE_DURATION: &str = "vcs.change.duration";
5425
5426/// ## Description
5427///
5428/// The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval
5429/// ## Metadata
5430/// | | |
5431/// |:-|:-
5432/// | Instrument: | `gauge` |
5433/// | Unit: | `s` |
5434/// | Status: | `Development` |
5435///
5436/// ## Attributes
5437/// | Name | Requirement |
5438/// |:-|:- |
5439/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5440/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5441/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Recommended`
5442/// | [`crate::attribute::VCS_REF_BASE_REVISION`] | `Opt_in`
5443/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
5444/// | [`crate::attribute::VCS_REF_HEAD_REVISION`] | `Opt_in`
5445/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5446/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5447#[cfg(feature = "semconv_experimental")]
5448pub const VCS_CHANGE_TIME_TO_APPROVAL: &str = "vcs.change.time_to_approval";
5449
5450/// ## Description
5451///
5452/// The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref
5453/// ## Metadata
5454/// | | |
5455/// |:-|:-
5456/// | Instrument: | `gauge` |
5457/// | Unit: | `s` |
5458/// | Status: | `Development` |
5459///
5460/// ## Attributes
5461/// | Name | Requirement |
5462/// |:-|:- |
5463/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5464/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5465/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Recommended`
5466/// | [`crate::attribute::VCS_REF_BASE_REVISION`] | `Opt_in`
5467/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
5468/// | [`crate::attribute::VCS_REF_HEAD_REVISION`] | `Opt_in`
5469/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5470/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5471#[cfg(feature = "semconv_experimental")]
5472pub const VCS_CHANGE_TIME_TO_MERGE: &str = "vcs.change.time_to_merge";
5473
5474/// ## Description
5475///
5476/// The number of unique contributors to a repository
5477/// ## Metadata
5478/// | | |
5479/// |:-|:-
5480/// | Instrument: | `gauge` |
5481/// | Unit: | `{contributor}` |
5482/// | Status: | `Development` |
5483///
5484/// ## Attributes
5485/// | Name | Requirement |
5486/// |:-|:- |
5487/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5488/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5489/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5490/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5491#[cfg(feature = "semconv_experimental")]
5492pub const VCS_CONTRIBUTOR_COUNT: &str = "vcs.contributor.count";
5493
5494/// ## Description
5495///
5496/// The number of refs of type branch or tag in a repository
5497/// ## Metadata
5498/// | | |
5499/// |:-|:-
5500/// | Instrument: | `updowncounter` |
5501/// | Unit: | `{ref}` |
5502/// | Status: | `Development` |
5503///
5504/// ## Attributes
5505/// | Name | Requirement |
5506/// |:-|:- |
5507/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5508/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5509/// | [`crate::attribute::VCS_REF_TYPE`] | `Required`
5510/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5511/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5512#[cfg(feature = "semconv_experimental")]
5513pub const VCS_REF_COUNT: &str = "vcs.ref.count";
5514
5515/// ## Description
5516///
5517/// The number of lines added/removed in a ref (branch) relative to the ref from the `vcs.ref.base.name` attribute.
5518///
5519/// ## Notes
5520///
5521/// This metric should be reported for each `vcs.line_change.type` value. For example if a ref added 3 lines and removed 2 lines,
5522/// instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers).
5523/// 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
5524/// ## Metadata
5525/// | | |
5526/// |:-|:-
5527/// | Instrument: | `gauge` |
5528/// | Unit: | `{line}` |
5529/// | Status: | `Development` |
5530///
5531/// ## Attributes
5532/// | Name | Requirement |
5533/// |:-|:- |
5534/// | [`crate::attribute::VCS_CHANGE_ID`] | `Conditionally_required`: if a change is associate with the ref.
5535/// | [`crate::attribute::VCS_LINE_CHANGE_TYPE`] | `Required`
5536/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5537/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5538/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Required`
5539/// | [`crate::attribute::VCS_REF_BASE_TYPE`] | `Required`
5540/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
5541/// | [`crate::attribute::VCS_REF_HEAD_TYPE`] | `Required`
5542/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5543/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5544#[cfg(feature = "semconv_experimental")]
5545pub const VCS_REF_LINES_DELTA: &str = "vcs.ref.lines_delta";
5546
5547/// ## Description
5548///
5549/// The number of revisions (commits) a ref (branch) is ahead/behind the branch from the `vcs.ref.base.name` attribute
5550///
5551/// ## Notes
5552///
5553/// 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`,
5554/// instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers) and `vcs.ref.base.name` is set to `trunk`
5555/// ## Metadata
5556/// | | |
5557/// |:-|:-
5558/// | Instrument: | `gauge` |
5559/// | Unit: | `{revision}` |
5560/// | Status: | `Development` |
5561///
5562/// ## Attributes
5563/// | Name | Requirement |
5564/// |:-|:- |
5565/// | [`crate::attribute::VCS_CHANGE_ID`] | `Conditionally_required`: if a change is associate with the ref.
5566/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5567/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5568/// | [`crate::attribute::VCS_REF_BASE_NAME`] | `Required`
5569/// | [`crate::attribute::VCS_REF_BASE_TYPE`] | `Required`
5570/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
5571/// | [`crate::attribute::VCS_REF_HEAD_TYPE`] | `Required`
5572/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5573/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5574/// | [`crate::attribute::VCS_REVISION_DELTA_DIRECTION`] | `Required`
5575#[cfg(feature = "semconv_experimental")]
5576pub const VCS_REF_REVISIONS_DELTA: &str = "vcs.ref.revisions_delta";
5577
5578/// ## Description
5579///
5580/// Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` attribute will always be `branch`
5581/// ## Metadata
5582/// | | |
5583/// |:-|:-
5584/// | Instrument: | `gauge` |
5585/// | Unit: | `s` |
5586/// | Status: | `Development` |
5587///
5588/// ## Attributes
5589/// | Name | Requirement |
5590/// |:-|:- |
5591/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5592/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5593/// | [`crate::attribute::VCS_REF_HEAD_NAME`] | `Required`
5594/// | [`crate::attribute::VCS_REF_HEAD_TYPE`] | `Required`
5595/// | [`crate::attribute::VCS_REPOSITORY_NAME`] | `Recommended`
5596/// | [`crate::attribute::VCS_REPOSITORY_URL_FULL`] | `Required`
5597#[cfg(feature = "semconv_experimental")]
5598pub const VCS_REF_TIME: &str = "vcs.ref.time";
5599
5600/// ## Description
5601///
5602/// The number of repositories in an organization
5603/// ## Metadata
5604/// | | |
5605/// |:-|:-
5606/// | Instrument: | `updowncounter` |
5607/// | Unit: | `{repository}` |
5608/// | Status: | `Development` |
5609///
5610/// ## Attributes
5611/// | Name | Requirement |
5612/// |:-|:- |
5613/// | [`crate::attribute::VCS_OWNER_NAME`] | `Recommended`
5614/// | [`crate::attribute::VCS_PROVIDER_NAME`] | `Opt_in`
5615#[cfg(feature = "semconv_experimental")]
5616pub const VCS_REPOSITORY_COUNT: &str = "vcs.repository.count";