Skip to content

Commit 2fcb082

Browse files
committed
Small improvments to observability SIP
Signed-off-by: Caleb Schoepp <[email protected]>
1 parent 28e7a89 commit 2fcb082

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

docs/content/sips/017-configuring-and-emitting-observability.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,32 @@ This proposal assumes that all observability data produced should be OTEL compli
3131

3232
### Configuring observability
3333

34-
The developer must be able to configure the endpoints of OTLP compliant collectors where traces and metrics can be sent. This can be expressed in the `spin.toml` manifest.
34+
The developer must be able to configure the endpoints of OTLP compliant collectors where traces and metrics can be sent. This can be expressed in the `runtime-config.toml`.
3535

3636
```toml
37-
[application]
38-
otlp_grpc_traces_endpoint = "http://localhost:4317"
39-
otlp_grpc_metrics_endpoint = "http://localhost:4317"
37+
[observability.tracing]
38+
endpoint = "http://localhost:4317"
39+
protocol = "http/protobuf" # "grpc" or "http/protobuf" or "http/json" and it defaults to "http/protobuf"
40+
[observability.metrics]
41+
endpoint = "http://localhost:4317"
42+
protocol = "http/protobuf" # "grpc" or "http/protobuf" or "http/json" and it defaults to "http/protobuf"
4043
```
4144

42-
**INPUT NEEDED:** How do we want to configure these endpoints? Where do they belong in the manifest? Do we want to allow for separate endpoints for traces and metrics? Do we want to allow for choosing between gRPC and HTTP? Should we let them pass a flag to `spin` to override the manifest value?
45+
**BIKESHED:** `observability.tracing`, `otel.tracing`, `telemetry.tracing`....
4346

44-
The developer must be able to opt in or out of trace context propagation. This should be possible on a per component basis. By default trace context propagation is disabled for a component. This can be expressed in the `spin.toml` manifest.
47+
The developer must be able to configure how each component of their application handles tracing. This can be expressed in the `spin.toml` manifest.
4548

4649
```toml
47-
[component.my-component]
48-
allow_trace_context_propagation = true
50+
[component.my-component.tracing]
51+
context_propagation = true # This is all or nothing. If you disable propagation no context will be propagated. By default this is false.
52+
# Opportunity to add fields in the future to
53+
# - Disable tracing for performance reasons
54+
# - Customize span names
55+
# - Add additional metadata
56+
# - More complex allow-listing mechanism for what spans propagate
57+
# - etc.
4958
```
5059

51-
**INPUT NEEDED:** Is it correct to put this on the component config as opposed to the trigger config?
52-
53-
Improving the guest observability of Spin with WASI Observe is outside the scope of this SIP. But, it is worth noting that when we add guest observability we may want to move from a simple binary model of trace context propagation to an allow-list based system.
54-
55-
```toml
56-
[component.my-component]
57-
allowed_trace_context_propagation_origins = ["my-component", "my-other-component"]
58-
```
59-
60-
**INPUT NEEDED:** I know this is something we need but I don't actually have any clue what it would look like.
61-
6260
### Improving observability
6361

6462
#### Runtime observability

0 commit comments

Comments
 (0)