Skip to content

Commit

Permalink
Merge branch 'master' into samplerparent
Browse files Browse the repository at this point in the history
  • Loading branch information
arminru authored Oct 6, 2020
2 parents 2ea557e + 937e82c commit aa67bf6
Show file tree
Hide file tree
Showing 27 changed files with 1,035 additions and 316 deletions.
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ release.

New:

- 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)).
- 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 All @@ -29,8 +33,14 @@ New:
* `exception.escaped` semantic span event attribute was added
([#784](https://github.com/open-telemetry/opentelemetry-specification/pull/784),
[#946](https://github.com/open-telemetry/opentelemetry-specification/pull/946))
- Allow samplers to modify tracestate
([#988](https://github.com/open-telemetry/opentelemetry-specification/pull/988/))
- Update the header name for otel baggage, and version date
([#981](https://github.com/open-telemetry/opentelemetry-specification/pull/981))
- Define PropagationOnly Span to simplify active Span logic in Context
([#994](https://github.com/open-telemetry/opentelemetry-specification/pull/994))
- Add Metric SDK specification (partial): covering terminology and Accumulator component
([#626](https://github.com/open-telemetry/opentelemetry-specification/pull/626))

Updates:

Expand Down Expand Up @@ -73,10 +83,15 @@ Updates:
([#875](https://github.com/open-telemetry/opentelemetry-specification/pull/875))
- Remove obsolete `http.status_text` from semantic conventions
([#972](https://github.com/open-telemetry/opentelemetry-specification/pull/972))
- Define `null` as an invalid value for attributes and declare attempts to set
`null` as undefined behavior
([#992](https://github.com/open-telemetry/opentelemetry-specification/pull/992))
- SDK: Rename the `Decision` values for `SamplingResult`s to `DROP`, `RECORD_ONLY`
and `RECORD_AND_SAMPLE` for consistency
([#938](https://github.com/open-telemetry/opentelemetry-specification/pull/938),
[#956](https://github.com/open-telemetry/opentelemetry-specification/pull/956))
- Metrics API: Replace "Additive" with "Adding", "Non-Additive" with "Grouping"
([#983](https://github.com/open-telemetry/opentelemetry-specification/pull/983)
- Move active span interaction in the Trace API to a separate class
([#923](https://github.com/open-telemetry/opentelemetry-specification/pull/923))
- Metrics SDK: Specify LastValue default aggregation for ValueObserver
Expand All @@ -85,6 +100,11 @@ Updates:
([#984](https://github.com/open-telemetry/opentelemetry-specification/pull/984)
- Trace SDK: Sampler.ShouldSample gets parent Context instead of SpanContext
([#881](https://github.com/open-telemetry/opentelemetry-specification/pull/881))
- SDK: Specify known values, as well as basic error handling for OTEL_PROPAGATORS.
([#962](https://github.com/open-telemetry/opentelemetry-specification/pull/962))
([#995](https://github.com/open-telemetry/opentelemetry-specification/pull/995))
- Remove custom header name for Baggage, use official header
([#993](https://github.com/open-telemetry/opentelemetry-specification/pull/993))

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

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

![OpenTelemetry Logo](https://opentelemetry.io/img/logos/opentelemetry-horizontal-color.png)

_Curious about what OpenTelemetry is? Check out our [website](https://opentelemetry.io) for an explanation!_

The OpenTelemetry specification describes the cross-language requirements and expectations for all OpenTelemetry implementations. Substantive changes to the specification must be proposed using the [OpenTelemetry Enhancement Proposal](https://github.com/open-telemetry/oteps) process. Small changes, such as clarifications, wording changes, spelling/grammar corrections, etc. can be made directly via pull requests.

Questions that needs additional attention can be brought to the regular
Expand Down
50 changes: 50 additions & 0 deletions semantic_conventions/resource/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
groups:
- id: service
prefix: service
brief: >
A service instance.
attributes:
- id: name
type: string
required: always
brief: >
Logical name of the service.
note: >
MUST be the same for all instances of horizontally scaled services.
examples: ["shoppingcart"]
- id: namespace
type: string
brief: >
A namespace for `service.name`.
note: >
A string value having a meaning that helps to distinguish a group of services,
for example the team name that owns a group of services.
`service.name` is expected to be unique within the same namespace.
If `service.namespace` is not specified in the Resource then `service.name`
is expected to be unique for all services that have no explicit namespace defined
(so the empty/unspecified namespace is simply one more valid namespace).
Zero-length namespace string is assumed equal to unspecified namespace.
examples: ["Shop"]
- id: instance.id
type: string
required: always
brief: >
The string ID of the service instance.
note: >
MUST be unique for each instance of the same `service.namespace,service.name` pair
(in other words `service.namespace,service.name,service.id` triplet MUST be globally unique).
The ID helps to distinguish instances of the same service that exist at the same time
(e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent
and stay the same for the lifetime of the service instance, however it is acceptable that
the ID is ephemeral and changes during important lifetime events for the service
(e.g. service restarts).
If the service has no inherent unique ID that can be used as the value of this attribute
it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID
(services aiming for reproducible UUIDs may also use Version 5, see RFC 4122
for more recommendations).
examples: ["627cc493-f310-47de-96bd-71410b7dec09"]
- id: version
type: string
brief: >
The version string of the service API or implementation.
examples: ["2.0.0"]
47 changes: 47 additions & 0 deletions semantic_conventions/resource/telemetry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
groups:
- id: telemetry
prefix: telemetry
brief: >
The telemetry SDK used to capture data recorded by the instrumentation libraries.
attributes:
- id: sdk.name
type: string
brief: >
The name of the telemetry SDK as defined above.
examples: ["opentelemetry"]
- id: sdk.language
type:
allow_custom_values: true
members:
- id: cpp
value: "cpp"
- id: dotnet
value: "dotnet"
- id: erlang
value: "erlang"
- id: go
value: "go"
- id: java
value: "java"
- id: nodejs
value: "nodejs"
- id: php
value: "php"
- id: python
value: "python"
- id: ruby
value: "ruby"
- id: webjs
value: "webjs"
brief: >
The language of the telemetry SDK.
- id: sdk.version
type: string
brief: >
The version string of the telemetry SDK.
examples: ["1.2.3"]
- id: auto.version
type: string
brief: >
The version string of the auto instrumentation agent, if used.
examples: ["1.2.3"]
116 changes: 116 additions & 0 deletions semantic_conventions/trace/messaging.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
groups:
- id: messaging
prefix: messaging
brief: >
This document defines the attributes used in
messaging systems.
attributes:
- id: system
type: string
required: always
brief: 'A string identifying the messaging system.'
examples: ['kafka', 'rabbitmq', 'activemq']
- id: destination
type: string
required: always
brief: >
The message destination name. This might be equal to the span name
but is required nevertheless.
examples: ['MyQueue', 'MyTopic']
- id: destination_kind
type:
allow_custom_values: false
members:
- id: queue
value: "queue"
brief: "A message sent to a queue"
- id: topic
value: "topic"
brief: "A message broadcasted to the subscribers of the topic"
required:
conditional: 'Required only if the message destination is either a `queue` or `topic`.'
brief: 'The kind of message destination'
- id: temp_destination
type: boolean
required:
conditional: 'If missing, it is assumed to be false.'
brief: 'A boolean that is true if the message destination is temporary.'
- id: protocol
type: string
brief: 'The name of the transport protocol.'
examples: ['AMQP', 'MQTT']
- id: protocol_version
type: string
brief: 'The version of the transport protocol.'
examples: '0.9.1'
- id: url
type: string
brief: 'Connection string.'
examples: ['tibjmsnaming://localhost:7222', 'https://queue.amazonaws.com/80398EXAMPLE/MyQueue']
- id: message_id
type: string
brief: 'A value used by the messaging system as an identifier for the message, represented as a string.'
examples: '452a7c7c7c7048c2f887f61572b18fc2'
- id: conversation_id
type: string
brief: >
The [conversation ID](#conversations) identifying the conversation to which the message belongs,
represented as a string. Sometimes called "Correlation ID".
examples: 'MyConversationId'
- id: message_payload_size_bytes
type: number
brief: >
The (uncompressed) size of the message payload in bytes.
Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported.
examples: 2738
- id: message_payload_compressed_size_bytes
type: number
brief: 'The compressed size of the message payload in bytes.'
examples: 2048
constraints:
- any_of:
- 'net.peer.name'
- 'net.peer.ip'
- include: network

- id: messaging.producer
prefix: messaging
extends: messaging
span_kind: producer
brief: 'Semantic convention for producers of messages sent to a messaging systems.'

- id: messaging.producer.synchronous
prefix: messaging
extends: messaging
span_kind: client
brief: >
Semantic convention for clients of messaging systems that produce messages
and synchronously wait for responses.
- id: messaging.consumer
prefix: messaging
extends: messaging
span_kind: consumer
brief: 'Semantic convention for a consumer of messages received from a messaging system'
attributes:
- id: operation
type:
allow_custom_values: false
members:
- id: receive
value: "receive"
- id: process
value: "process"
brief: >
A string identifying the kind of message consumption as defined in the
[Operation names](#operation-names) section above.
If the operation is "send", this attribute MUST NOT be set, since the
operation can be inferred from the span kind in that case.
- id: messaging.consumer.synchronous
prefix: messaging
extends: messaging.consumer
span_kind: server
brief: >
Semantic convention for servers that consume messages received from messaging systems
and always send back replies directed to the producers of these messages.
35 changes: 35 additions & 0 deletions semantic_conventions/trace/rpc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
groups:
- id: rpc
prefix: rpc
brief: 'This document defines semantic conventions for remote procedure calls.'
attributes:
- id: system
type: string
required: always
brief: 'A string identifying the remoting system.'
examples: ["grpc", "java_rmi", "wcf"]
- id: service
type: string
required:
conditional: "No, but recommended"
brief: 'The full name of the service being called, including its package name, if applicable.'
examples: "myservice.EchoService"
- id: method
type: string
required:
conditional: "No, but recommended"
brief: 'The name of the method being called, must be equal to the $method part in the span name.'
examples: "exampleMethod"
- ref: net.peer.ip
- ref: net.peer.name
- ref: net.peer.port
required:
conditional: "See below"
- ref: net.transport
required:
conditional: "See below"
constraints:
- any_of:
- net.peer.ip
- net.peer.name
- include: network
Loading

0 comments on commit aa67bf6

Please sign in to comment.