@@ -79,8 +79,8 @@ Examples: HBase, Envoy developers.
79
79
OpenTelemetry SDKTracer, and OpenTelemetry wire format exporter.
80
80
* They may have their own recommendations for sampling rates, but don't run the binaries in
81
81
production, only provide packaged binaries. So their sampling rate configs, and sampling strategies
82
- need to a finite "built in" set from OpenTelemetry's SDK.
83
- * They need to deal with upstream sampling decisions made by services calling them.
82
+ need to be a finite "built in" set from OpenTelemetry's SDK.
83
+ * They need to deal with upstream sampling decisions made by services that call them.
84
84
85
85
** Solution:**
86
86
* Allow different sampling strategies by default in OpenTelemetry SDK, all configurable easily via
@@ -138,12 +138,12 @@ or the cost to store all the Spans may be too high. In order to support this use
138
138
ensure the quality of the data we send, OpenTelemetry needs to natively support sampling with some
139
139
requirements:
140
140
* Send as many complete traces as possible. Sending just a subset of the spans from a trace is
141
- less useful because in this case the interaction between the spans may miss .
141
+ less useful because in this case the interaction between the spans may be missing .
142
142
* Allow application operator to configure the sampling frequency.
143
143
144
- For new modern systems that need to collect all the Spans and later may or may not do a deferred
144
+ For new modern systems that need to collect all the Spans and later may or may not make a deferred
145
145
sampling decision, OpenTelemetry needs to natively support a way to configure the library to
146
- collect and export all the Spans. This is possible even though OpenTelemetry supports sampling by
146
+ collect and export all the Spans. This is possible ( even though OpenTelemetry supports sampling) by
147
147
setting a default config to always collect all the spans.
148
148
149
149
### Sampling flags
@@ -174,11 +174,11 @@ instrumenting code and never access `SampledFlag` unless used in context propaga
174
174
This is a new concept added in the OpenTelemetry API that allows to suggest sampling hints to the
175
175
implementation of the API:
176
176
* ` NOT_RECORD `
177
- * Suggest to not ` RecordEvents = false ` and not propagate ` SampledFlag = false ` .
177
+ * Suggest to not set ( ` RecordEvents = false ` ) and not propagate ( ` SampledFlag = false ` ) .
178
178
* ` RECORD `
179
- * Suggest ` RecordEvents = true ` and ` SampledFlag = false ` .
179
+ * Suggest to set ( ` RecordEvents = true ` ) but not propagate ( ` SampledFlag = false ` ) .
180
180
* ` RECORD_AND_PROPAGATE `
181
- * Suggest to ` RecordEvents = true ` and propagate ` SampledFlag = true ` .
181
+ * Suggest to set ( ` RecordEvents = true ` ) and propagate ( ` SampledFlag = true ` ) .
182
182
183
183
The default option for the span creation is to not have any suggestion (or suggestion is not
184
184
specified). This can be implemented by using ` null ` as the default option or any language specific
@@ -195,7 +195,7 @@ The interface for the Sampler class that is available only in the OpenTelemetry
195
195
* ` SpanKind `
196
196
* Initial set of ` Attributes ` for the ` Span ` being constructed
197
197
198
- It produces as an output called ` SamplingResult ` :
198
+ It produces an output called ` SamplingResult ` that includes :
199
199
* A ` SamplingDecision ` enum [ ` NOT_RECORD ` , ` RECORD ` , ` RECORD_AND_PROPAGATE ` ] .
200
200
* A set of span Attributes that will also be added to the ` Span ` .
201
201
* These attributes will be added after the initial set of ` Attributes ` .
@@ -263,7 +263,7 @@ There are two important use-cases to be considered:
263
263
* Some information that may be used for sampling decision are NOT available at the moment when the
264
264
logical ` Span ` operation should start (e.g. ` http.route ` may be determine later).
265
265
266
- The current [ span creation logic] [ span-creation ] facilitates very well the first use-case, but
266
+ The current [ span creation logic] [ span-creation ] facilitates the first use-case very well , but
267
267
the second use-case requires users to record the logical ` start_time ` and collect all the
268
268
information necessarily to start the ` Span ` in custom objects, then when all the properties are
269
269
available call the span creation API.
0 commit comments