File: cloudfoundry_attributes.h

package info (click to toggle)
opentelemetry-cpp 1.23.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,372 kB
  • sloc: cpp: 96,239; sh: 1,766; makefile: 36; python: 31
file content (133 lines) | stat: -rw-r--r-- 5,294 bytes parent folder | download
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
/*
 * Copyright The OpenTelemetry Authors
 * SPDX-License-Identifier: Apache-2.0
 */

/*
 * DO NOT EDIT, this is an Auto-generated file from:
 * buildscripts/semantic-convention/templates/registry/semantic_attributes-h.j2
 */

#pragma once

#include "opentelemetry/common/macros.h"
#include "opentelemetry/version.h"

OPENTELEMETRY_BEGIN_NAMESPACE
namespace semconv
{
namespace cloudfoundry
{

/**
  The guid of the application.
  <p>
  Application instrumentation should use the value from environment
  variable @code VCAP_APPLICATION.application_id @endcode. This is the same value as
  reported by @code cf app <app-name> --guid @endcode.
 */
static constexpr const char *kCloudfoundryAppId = "cloudfoundry.app.id";

/**
  The index of the application instance. 0 when just one instance is active.
  <p>
  CloudFoundry defines the @code instance_id @endcode in the <a
  href="https://github.com/cloudfoundry/loggregator-api#v2-envelope">Loggregator v2 envelope</a>. It
  is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the application
  instance index for applications deployed on the runtime. <p> Application instrumentation should
  use the value from environment variable @code CF_INSTANCE_INDEX @endcode.
 */
static constexpr const char *kCloudfoundryAppInstanceId = "cloudfoundry.app.instance.id";

/**
  The name of the application.
  <p>
  Application instrumentation should use the value from environment
  variable @code VCAP_APPLICATION.application_name @endcode. This is the same value
  as reported by @code cf apps @endcode.
 */
static constexpr const char *kCloudfoundryAppName = "cloudfoundry.app.name";

/**
  The guid of the CloudFoundry org the application is running in.
  <p>
  Application instrumentation should use the value from environment
  variable @code VCAP_APPLICATION.org_id @endcode. This is the same value as
  reported by @code cf org <org-name> --guid @endcode.
 */
static constexpr const char *kCloudfoundryOrgId = "cloudfoundry.org.id";

/**
  The name of the CloudFoundry organization the app is running in.
  <p>
  Application instrumentation should use the value from environment
  variable @code VCAP_APPLICATION.org_name @endcode. This is the same value as
  reported by @code cf orgs @endcode.
 */
static constexpr const char *kCloudfoundryOrgName = "cloudfoundry.org.name";

/**
  The UID identifying the process.
  <p>
  Application instrumentation should use the value from environment
  variable @code VCAP_APPLICATION.process_id @endcode. It is supposed to be equal to
  @code VCAP_APPLICATION.app_id @endcode for applications deployed to the runtime.
  For system components, this could be the actual PID.
 */
static constexpr const char *kCloudfoundryProcessId = "cloudfoundry.process.id";

/**
  The type of process.
  <p>
  CloudFoundry applications can consist of multiple jobs. Usually the
  main process will be of type @code web @endcode. There can be additional background
  tasks or side-cars with different process types.
 */
static constexpr const char *kCloudfoundryProcessType = "cloudfoundry.process.type";

/**
  The guid of the CloudFoundry space the application is running in.
  <p>
  Application instrumentation should use the value from environment
  variable @code VCAP_APPLICATION.space_id @endcode. This is the same value as
  reported by @code cf space <space-name> --guid @endcode.
 */
static constexpr const char *kCloudfoundrySpaceId = "cloudfoundry.space.id";

/**
  The name of the CloudFoundry space the application is running in.
  <p>
  Application instrumentation should use the value from environment
  variable @code VCAP_APPLICATION.space_name @endcode. This is the same value as
  reported by @code cf spaces @endcode.
 */
static constexpr const char *kCloudfoundrySpaceName = "cloudfoundry.space.name";

/**
  A guid or another name describing the event source.
  <p>
  CloudFoundry defines the @code source_id @endcode in the <a
  href="https://github.com/cloudfoundry/loggregator-api#v2-envelope">Loggregator v2 envelope</a>. It
  is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the component
  name, e.g. "gorouter", for CloudFoundry components. <p> When system components are instrumented,
  values from the <a href="https://bosh.io/docs/jobs/#properties-spec">Bosh spec</a> should be used.
  The @code system.id @endcode should be set to
  @code spec.deployment/spec.name @endcode.
 */
static constexpr const char *kCloudfoundrySystemId = "cloudfoundry.system.id";

/**
  A guid describing the concrete instance of the event source.
  <p>
  CloudFoundry defines the @code instance_id @endcode in the <a
  href="https://github.com/cloudfoundry/loggregator-api#v2-envelope">Loggregator v2 envelope</a>. It
  is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the vm id for
  CloudFoundry components. <p> When system components are instrumented, values from the <a
  href="https://bosh.io/docs/jobs/#properties-spec">Bosh spec</a> should be used. The @code
  system.instance.id @endcode should be set to @code spec.id @endcode.
 */
static constexpr const char *kCloudfoundrySystemInstanceId = "cloudfoundry.system.instance.id";

}  // namespace cloudfoundry
}  // namespace semconv
OPENTELEMETRY_END_NAMESPACE