-
Notifications
You must be signed in to change notification settings - Fork 407
Expand file tree
/
Copy pathCloudAttributes.cs
More file actions
325 lines (268 loc) · 11.6 KB
/
Copy pathCloudAttributes.cs
File metadata and controls
325 lines (268 loc) · 11.6 KB
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
// <auto-generated>This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' </auto-generated>
#nullable enable
#pragma warning disable CS1570 // XML comment has badly formed XML
namespace OpenTelemetry.SemanticConventions;
/// <summary>
/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
/// </summary>
public static class CloudAttributes
{
/// <summary>
/// The cloud account ID the resource is assigned to.
/// </summary>
/// <remarks>
/// For Azure, this is the subscription ID.
/// </remarks>
public const string AttributeCloudAccountId = "cloud.account.id";
/// <summary>
/// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
/// </summary>
/// <remarks>
/// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
/// </remarks>
public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
/// <summary>
/// The cloud platform in use.
/// </summary>
/// <remarks>
/// The prefix of the service SHOULD match the one specified in <c>cloud.provider</c>.
/// </remarks>
public const string AttributeCloudPlatform = "cloud.platform";
/// <summary>
/// Name of the cloud provider.
/// </summary>
public const string AttributeCloudProvider = "cloud.provider";
/// <summary>
/// The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed.
/// </summary>
/// <remarks>
/// Refer to your provider's docs to see the available regions, for example <a href="https://www.alibabacloud.com/help/doc-detail/40654.htm">Alibaba Cloud regions</a>, <a href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/">AWS regions</a>, <a href="https://azure.microsoft.com/global-infrastructure/geographies/">Azure regions</a>, <a href="https://cloud.google.com/about/locations">Google Cloud regions</a>, or <a href="https://www.tencentcloud.com/document/product/213/6091">Tencent Cloud regions</a>.
/// </remarks>
public const string AttributeCloudRegion = "cloud.region";
/// <summary>
/// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> on AWS, a <a href="https://learn.microsoft.com/rest/api/resources/resources/get-by-id">fully qualified resource ID</a> on Azure, a <a href="https://google.aip.dev/122#full-resource-names">full resource name</a> on GCP).
/// </summary>
/// <remarks>
/// On some cloud providers, it may not be possible to determine the full ID at startup,
/// so it may be necessary to set <c>cloud.resource_id</c> as a span attribute instead.
/// <p>
/// The exact value to use for <c>cloud.resource_id</c> depends on the cloud provider.
/// The following well-known definitions MUST be used if you set this attribute and they apply:
/// <ul>
/// <li><strong>AWS Lambda:</strong> The function <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>.
/// Take care not to use the "invoked ARN" directly but replace any
/// <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html">alias suffix</a>
/// with the resolved function version, as the same runtime instance may be invocable with
/// multiple different aliases.</li>
/// <li><strong>GCP:</strong> The <a href="https://cloud.google.com/iam/docs/full-resource-names">URI of the resource</a></li>
/// <li><strong>Azure:</strong> The <a href="https://learn.microsoft.com/rest/api/resources/resources/get-by-id">Fully Qualified Resource ID</a> of the invoked function,
/// <em>not</em> the function app, having the form
/// <c>/subscriptions/<SUBSCRIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC></c>.
/// This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
/// a TracerProvider.</li>
/// </ul>
/// </remarks>
public const string AttributeCloudResourceId = "cloud.resource_id";
/// <summary>
/// The cloud platform in use.
/// </summary>
public static class CloudPlatformValues
{
/// <summary>
/// Akamai Cloud Compute.
/// </summary>
public const string AkamaiCloudCompute = "akamai_cloud.compute";
/// <summary>
/// Alibaba Cloud Elastic Compute Service.
/// </summary>
public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
/// <summary>
/// Alibaba Cloud Function Compute.
/// </summary>
public const string AlibabaCloudFc = "alibaba_cloud_fc";
/// <summary>
/// Red Hat OpenShift on Alibaba Cloud.
/// </summary>
public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift";
/// <summary>
/// AWS Elastic Compute Cloud.
/// </summary>
public const string AwsEc2 = "aws_ec2";
/// <summary>
/// AWS Elastic Container Service.
/// </summary>
public const string AwsEcs = "aws_ecs";
/// <summary>
/// AWS Elastic Kubernetes Service.
/// </summary>
public const string AwsEks = "aws_eks";
/// <summary>
/// AWS Lambda.
/// </summary>
public const string AwsLambda = "aws_lambda";
/// <summary>
/// AWS Elastic Beanstalk.
/// </summary>
public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
/// <summary>
/// AWS App Runner.
/// </summary>
public const string AwsAppRunner = "aws_app_runner";
/// <summary>
/// Red Hat OpenShift on AWS (ROSA).
/// </summary>
public const string AwsOpenshift = "aws_openshift";
/// <summary>
/// Azure Virtual Machines.
/// </summary>
public const string AzureVm = "azure.vm";
/// <summary>
/// Azure Container Apps.
/// </summary>
public const string AzureContainerApps = "azure.container_apps";
/// <summary>
/// Azure Container Instances.
/// </summary>
public const string AzureContainerInstances = "azure.container_instances";
/// <summary>
/// Azure Kubernetes Service.
/// </summary>
public const string AzureAks = "azure.aks";
/// <summary>
/// Azure Functions.
/// </summary>
public const string AzureFunctions = "azure.functions";
/// <summary>
/// Azure App Service.
/// </summary>
public const string AzureAppService = "azure.app_service";
/// <summary>
/// Azure Red Hat OpenShift.
/// </summary>
public const string AzureOpenshift = "azure.openshift";
/// <summary>
/// Google Vertex AI Agent Engine.
/// </summary>
public const string GcpAgentEngine = "gcp.agent_engine";
/// <summary>
/// Google Bare Metal Solution (BMS).
/// </summary>
public const string GcpBareMetalSolution = "gcp_bare_metal_solution";
/// <summary>
/// Google Cloud Compute Engine (GCE).
/// </summary>
public const string GcpComputeEngine = "gcp_compute_engine";
/// <summary>
/// Google Cloud Run.
/// </summary>
public const string GcpCloudRun = "gcp_cloud_run";
/// <summary>
/// Google Cloud Kubernetes Engine (GKE).
/// </summary>
public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
/// <summary>
/// Google Cloud Functions (GCF).
/// </summary>
public const string GcpCloudFunctions = "gcp_cloud_functions";
/// <summary>
/// Google Cloud App Engine (GAE).
/// </summary>
public const string GcpAppEngine = "gcp_app_engine";
/// <summary>
/// Red Hat OpenShift on Google Cloud.
/// </summary>
public const string GcpOpenshift = "gcp_openshift";
/// <summary>
/// Server on Hetzner Cloud.
/// </summary>
public const string HetznerCloudServer = "hetzner.cloud_server";
/// <summary>
/// Red Hat OpenShift on IBM Cloud.
/// </summary>
public const string IbmCloudOpenshift = "ibm_cloud_openshift";
/// <summary>
/// Compute on Oracle Cloud Infrastructure (OCI).
/// </summary>
public const string OracleCloudCompute = "oracle_cloud_compute";
/// <summary>
/// Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI).
/// </summary>
public const string OracleCloudOke = "oracle_cloud_oke";
/// <summary>
/// Compute on Scaleway Cloud.
/// </summary>
public const string ScalewayCloudCompute = "scaleway_cloud_compute";
/// <summary>
/// Tencent Cloud Cloud Virtual Machine (CVM).
/// </summary>
public const string TencentCloudCvm = "tencent_cloud_cvm";
/// <summary>
/// Tencent Cloud Elastic Kubernetes Service (EKS).
/// </summary>
public const string TencentCloudEks = "tencent_cloud_eks";
/// <summary>
/// Tencent Cloud Serverless Cloud Function (SCF).
/// </summary>
public const string TencentCloudScf = "tencent_cloud_scf";
/// <summary>
/// Vultr Cloud Compute.
/// </summary>
public const string VultrCloudCompute = "vultr.cloud_compute";
}
/// <summary>
/// Name of the cloud provider.
/// </summary>
public static class CloudProviderValues
{
/// <summary>
/// Akamai Cloud.
/// </summary>
public const string AkamaiCloud = "akamai_cloud";
/// <summary>
/// Alibaba Cloud.
/// </summary>
public const string AlibabaCloud = "alibaba_cloud";
/// <summary>
/// Amazon Web Services.
/// </summary>
public const string Aws = "aws";
/// <summary>
/// Microsoft Azure.
/// </summary>
public const string Azure = "azure";
/// <summary>
/// Google Cloud Platform.
/// </summary>
public const string Gcp = "gcp";
/// <summary>
/// Heroku Platform as a Service.
/// </summary>
public const string Heroku = "heroku";
/// <summary>
/// Hetzner.
/// </summary>
public const string Hetzner = "hetzner";
/// <summary>
/// IBM Cloud.
/// </summary>
public const string IbmCloud = "ibm_cloud";
/// <summary>
/// Oracle Cloud Infrastructure (OCI).
/// </summary>
public const string OracleCloud = "oracle_cloud";
/// <summary>
/// Scaleway Cloud.
/// </summary>
public const string ScalewayCloud = "scaleway_cloud";
/// <summary>
/// Tencent Cloud.
/// </summary>
public const string TencentCloud = "tencent_cloud";
/// <summary>
/// Vultr.
/// </summary>
public const string Vultr = "vultr";
}
}