Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into sdk-spanid-sampling
Browse files Browse the repository at this point in the history
  • Loading branch information
Oberon00 committed Oct 12, 2020
2 parents d0fbf4e + ec58e45 commit eceae84
Show file tree
Hide file tree
Showing 16 changed files with 490 additions and 164 deletions.
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,14 @@ release.

New:

- Add Metadata for Baggage entries, and clarify W3C Baggage Propagator implementation
([#1066](https://github.com/open-telemetry/opentelemetry-specification/pull/1066))
- Change Status to be consistent with Link and Event
([#1067](https://github.com/open-telemetry/opentelemetry-specification/pull/1067))
- Clarify env variables in otlp exporter
([#975](https://github.com/open-telemetry/opentelemetry-specification/pull/975))
- Add Prometheus exporter environment variables
([#2021](https://github.com/open-telemetry/opentelemetry-specification/pull/1021)).
([#1021](https://github.com/open-telemetry/opentelemetry-specification/pull/1021)).
- Default propagators in un-configured API must be no-op
([#930](https://github.com/open-telemetry/opentelemetry-specification/pull/930)).
- Define resource mapping for Jaeger exporters
Expand Down Expand Up @@ -105,6 +109,8 @@ Updates:
([#998](https://github.com/open-telemetry/opentelemetry-specification/pull/998))
- Remove custom header name for Baggage, use official header
([#993](https://github.com/open-telemetry/opentelemetry-specification/pull/993))
- Trace API: Clarifications for `Span.End`, e.g. IsRecording becomes false after End
([#1011](https://github.com/open-telemetry/opentelemetry-specification/pull/1011))

## v0.6.0 (07-01-2020)

Expand Down
39 changes: 39 additions & 0 deletions semantic_conventions/resource/cloud.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
groups:
- id: cloud
prefix: cloud
brief: >
A cloud infrastructure (e.g. GCP, Azure, AWS)
attributes:
- id: provider
type:
allow_custom_values: true
members:
- id: AWS
value: 'aws'
brief: 'Amazon Web Services'
- id: Azure
value: 'azure'
brief: 'Amazon Web Services'
- id: GCP
value: 'gcp'
brief: 'Google Cloud Platform'
brief: >
Name of the cloud provider.
examples: 'gcp'
- id: account.id
type: string
brief: >
The cloud account ID used to identify different entities.
examples: ['opentelemetry']
- id: region
type: string
brief: >
A specific geographical location where different entities can run.
examples: ['us-central1']
- id: zone
type: string
brief: >
Zones are a sub set of the region connected through low-latency links.
note: >
In AWS, this is called availability-zone.
examples: ['us-central1-a']
28 changes: 28 additions & 0 deletions semantic_conventions/resource/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
groups:
- id: container
prefix: container
brief: >
A container instance.
attributes:
- id: name
type: string
brief: >
Container name.
examples: ['opentelemetry-autoconf']
- id: id
type: string
brief: >
Container id. Usually a UUID, as for example used to
[identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification).
The UUID might be abbreviated.
examples: ['a3bf90e006b2']
- id: image.name
type: string
brief: >
Name of the image the container was built on.
examples: ['gcr.io/opentelemetry/operator']
- id: image.tag
type: string
brief: >
Container image tag.
examples: ['0.1']
12 changes: 12 additions & 0 deletions semantic_conventions/resource/deployment_environment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
groups:
- id: deployment
prefix: deployment
brief: >
The software deployment.
attributes:
- id: environment
type: string
brief: >
Name of the [deployment environment](https://en.wikipedia.org/wiki/Deployment_environment)
(aka deployment tier).
examples: ['staging', 'production']
145 changes: 145 additions & 0 deletions semantic_conventions/resource/k8s.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
groups:
- id: k8s.cluster
prefix: k8s.cluster
brief: >
A Kubernetes Cluster.
attributes:
- id: name
type: string
brief: >
The name of the cluster.
examples: ['opentelemetry-cluster']

- id: k8s.namespace
prefix: k8s.namespace
brief: >
A Kubernetes Namespace.
attributes:
- id: name
type: string
brief: >
The name of the namespace that the pod is running in.
examples: ['default']

- id: k8s.pod
prefix: k8s.pod
brief: >
A Kubernetes Pod object.
attributes:
- id: uid
type: string
brief: >
The UID of the Pod.
examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff']
- id: name
type: string
brief: >
The name of the Pod.
examples: ['opentelemetry-pod-autoconf']

- id: k8s.container
prefix: k8s.container
brief: >
A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates).
attributes:
- id: name
type: string
brief: >
The name of the Container in a Pod template.
examples: ['redis']

- id: k8s.replicaset
prefix: k8s.replicaset
brief: >
A Kubernetes ReplicaSet object.
attributes:
- id: uid
type: string
brief: >
The UID of the ReplicaSet.
examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff']
- id: name
type: string
brief: >
The name of the ReplicaSet.
examples: ['opentelemetry']

- id: k8s.deployment
prefix: k8s.deployment
brief: >
A Kubernetes Deployment object.
attributes:
- id: uid
type: string
brief: >
The UID of the Deployment.
examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff']
- id: name
type: string
brief: >
The name of the Deployment.
examples: ['opentelemetry']

- id: k8s.statefulset
prefix: k8s.statefulset
brief: >
A Kubernetes StatefulSet object.
attributes:
- id: uid
type: string
brief: >
The UID of the StatefulSet.
examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff']
- id: name
type: string
brief: >
The name of the StatefulSet.
examples: ['opentelemetry']

- id: k8s.daemonset
prefix: k8s.daemonset
brief: >
A Kubernetes DaemonSet object.
attributes:
- id: uid
type: string
brief: >
The UID of the DaemonSet.
examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff']
- id: name
type: string
brief: >
The name of the DaemonSet.
examples: ['opentelemetry']

- id: k8s.job
prefix: k8s.job
brief: >
A Kubernetes Job object.
attributes:
- id: uid
type: string
brief: >
The UID of the Job.
examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff']
- id: name
type: string
brief: >
The name of the Job.
examples: ['opentelemetry']

- id: k8s.cronjob
prefix: k8s.cronjob
brief: >
A Kubernetes CronJob object.
attributes:
- id: uid
type: string
brief: >
The UID of the CronJob.
examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff']
- id: name
type: string
brief: >
The name of the CronJob.
examples: ['opentelemetry']
54 changes: 54 additions & 0 deletions semantic_conventions/resource/os.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
groups:
- id: os
prefix: os
brief: >
The operating system (OS) on which the process represented by this resource is running.
note: >
In case of virtualized environments, this is the operating system as it is observed by
the process, i.e., the virtualized guest rather than the underlying host.
attributes:
- id: type
type:
allow_custom_values: true
members:
- id: WINDOWS
value: 'WINDOWS'
brief: "Microsoft Windows"
- id: LINUX
value: 'LINUX'
brief: "Linux"
- id: DARWIN
value: 'DARWIN'
brief: "Apple Darwin"
- id: FREEBSD
value: 'FREEBSD'
brief: "FreeBSD"
- id: NETBSD
value: 'NETBSD'
brief: "NetBSD"
- id: OPENBSD
value: 'OPENBSD'
brief: "OpenBSD"
- id: DRAGONFLYBSD
value: 'DRAGONFLYBSD'
brief: "DragonFly BSD"
- id: HPUX
value: 'HPUX'
brief: "HP-UX (Hewlett Packard Unix)"
- id: AIX
value: 'AIX'
brief: "AIX (Advanced Interactive eXecutive)"
- id: SOLARIS
value: 'SOLARIS'
brief: "Oracle Solaris"
- id: ZOS
value: 'ZOS'
brief: "IBM z/OS"
required: always
brief: 'The operating system type.'
- id: description
type: string
brief: >
Human readable (not intended to be parsed) OS version information,
like e.g. reported by `ver` or `lsb_release -a` commands.
examples: ['Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS']
3 changes: 2 additions & 1 deletion spec-compliance-matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ status of the feature is not known.
|End | + | + | + | + | + | + | + | + | + | + |
|End with timestamp | + | + | + | + | + | + | + | - | + | + |
|IsRecording | + | + | + | + | + | + | + | | + | + |
|IsRecording becomes false after End | | | | | | | | | | |
|Set status | + | + | + | + | + | + | + | + | + | + |
|Safe for concurrent calls | + | + | + | [-](https://github.com/open-telemetry/opentelemetry-python/issues/1157) | + | + | + | + | + | + |
|[Span attributes](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#set-attributes)|
Expand All @@ -48,7 +49,7 @@ status of the feature is not known.
|Double floating-point type | + | + | + | + | + | + | - | + | + | + |
|Signed int64 type | + | + | + | + | + | + | - | + | + | + |
|Array of primitives (homogeneous) | + | + | + | + | + | - | + | + | + | + |
|`null` values documented as invalid/undefined | | | | | | | | | | |
|`null` values documented as invalid/undefined | | + | | | | | | | | |
|Unicode support for keys and string values | + | + | + | + | + | + | + | + | + | + |
|[Span linking](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#add-links)|
|AddLink | + | + | + | + | + | + | + | + | - | + |
Expand Down
21 changes: 18 additions & 3 deletions specification/baggage/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,16 @@ contains a `Baggage` with the new value.

REQUIRED parameters:

`Name` the name for which to set the value.
`Name` The name for which to set the value, of type string.

`Value` the value to set.
`Value` The value to set, of type string.

OPTIONAL parameters:

`Context` the context containing the `Baggage` in which to set the baggage entry.
`Metadata` Optional metadata associated with the name-value pair. This should be an opaque wrapper
for a string with no semantic meaning. Left opaque to allow for future functionality.

`Context` The context containing the `Baggage` in which to set the baggage entry.

### Remove baggage

Expand Down Expand Up @@ -104,6 +107,18 @@ The API layer MAY include the following `Propagator`s:

* A `TextMapPropagator` implementing the [W3C Baggage Specification](https://w3c.github.io/baggage).

Note: The W3C baggage specification does not currently assign semantic meaning to the optional metadata.

On `extract`, the propagator should store all metadata as a single metadata instance per entry.
On `inject`, the propagator should append the metadata per the W3C specification format.

Notes:

If the propagator is unable to parse the `baggage` header, `extract` MUST return a Context with no baggage entries in it.

If the `baggage` header is present, but contains no entries, `extract` MUST return a Context with
no baggage entries in it.

## Conflict Resolution

If a new name/value pair is added and its name is the same as an existing name, than the new pair MUST take precedence. The value
Expand Down
6 changes: 3 additions & 3 deletions specification/context/api-propagators.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,8 @@ the base [Inject](#inject) operation.

Optional arguments:

- A `Setter` invoked for each propagation key to add or remove. This is an additional
argument that languages are free to define to help inject data into the carrier.
- A `Setter` to set a propagation key/value pair. Propagators MAY invoke it multiple times in order to set multiple pairs.
This is an additional argument that languages are free to define to help inject data into the carrier.

#### Setter argument

Expand Down Expand Up @@ -263,7 +263,7 @@ Required arguments:

- A `Context`.
- The carrier that holds propagation fields.
- The `Setter` invoked for each propagation key to add or remove.
- The `Setter` to set a propagation key/value pair. Propagators MAY invoke it multiple times in order to set multiple pairs.

## Global Propagators

Expand Down
Loading

0 comments on commit eceae84

Please sign in to comment.