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