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