forked from open-telemetry/opentelemetry-js-contrib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsemantic-conventions.ts
106 lines (96 loc) · 4.91 KB
/
semantic-conventions.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
* Copyright The OpenTelemetry Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* These constants are considered experimental exports of `@opentelemetry/semantic-conventions`.
* They're being inlined until they're officially exported by `@opentelemetry/semantic-conventions`.
*/
/**
* The number of connections that are currently in state described by the `state` attribute
*
* @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.
*/
export const METRIC_DB_CLIENT_CONNECTION_COUNT = 'db.client.connection.count';
/**
* The number of pending requests for an open connection, cumulative for the entire pool
*
* @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.
*/
export const METRIC_DB_CLIENT_CONNECTION_PENDING_REQUESTS =
'db.client.connection.pending_requests';
/**
* The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation **SHOULD** use a combination of parameters that would make the name unique, for example, combining attributes `server.address`, `server.port`, and `db.namespace`, formatted as `server.address:server.port/db.namespace`. Instrumentations that generate connection pool name following different patterns **SHOULD** document it.
*
* @example myDataSource
*
* @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.
*/
export const ATTR_DB_CLIENT_CONNECTION_POOL_NAME =
'db.client.connection.pool.name';
/**
* The state of a connection in the pool
*
* @example idle
*
* @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.
*/
export const ATTR_DB_CLIENT_CONNECTION_STATE = 'db.client.connection.state';
/**
* Enum value "idle" for attribute {@link ATTR_DB_CLIENT_CONNECTION_STATE}.
*/
export const DB_CLIENT_CONNECTION_STATE_VALUE_IDLE = 'idle';
/**
* Enum value "used" for attribute {@link ATTR_DB_CLIENT_CONNECTION_STATE}.
*/
export const DB_CLIENT_CONNECTION_STATE_VALUE_USED = 'used';
/**
* Duration of database client operations.
*
* @note Batch operations **SHOULD** be recorded as a single operation.
*
* @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.
*/
export const METRIC_DB_CLIENT_OPERATION_DURATION =
'db.client.operation.duration';
/**
* The name of the database, fully qualified within the server address and port.
*
* @example customers
*
* @example test.users
*
* @note If a database system has multiple namespace components, they **SHOULD** be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces **SHOULD** **NOT** be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid.
* Semantic conventions for individual database systems **SHOULD** document what `db.namespace` means in the context of that system.
* It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization.
*
* @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.
*/
export const ATTR_DB_NAMESPACE = 'db.namespace';
/**
* The name of the operation or command being executed.
*
* @example findAndModify
*
* @example HMSET
*
* @example SELECT
*
* @note It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization.
* If the operation name is parsed from the query text, it **SHOULD** be the first operation name found in the query.
* For batch operations, if the individual operations are known to have the same operation name then that operation name **SHOULD** be used prepended by `BATCH `, otherwise `db.operation.name` **SHOULD** be `BATCH` or some other database system specific term if more applicable.
*
* @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.
*/
export const ATTR_DB_OPERATION_NAME = 'db.operation.name';