-
Notifications
You must be signed in to change notification settings - Fork 63
Instrument interceptors with OpenCensus #63
Comments
Instrument interceptor/opencensus with stats to record the number of received spans. This is accomplished by a helper to process spans that sends over spans even if the number of spans is 0. Also record with tag_key "opencensus_interceptor" whose value is the name of the respective interceptor. The test to ensure that 0 length spans are also added is currently disabled because: * Issue census-instrumentation/opencensus-go#862 is not yet implemented which requests that the OpenCensus-Go stats worker provide a method Flush to flush all data. Without it, metrics will contain stale data from previous tests. Add tests to lock-in this behavior. Updates #63
Instrument interceptor/opencensus with stats to record the number of received spans. This is accomplished by a helper to process spans that sends over spans even if the number of spans is 0. Also record with tag_key "opencensus_interceptor" whose value is the name of the respective interceptor. The test to ensure that 0 length spans are also added is currently disabled because: * Issue census-instrumentation/opencensus-go#862 is not yet implemented which requests that the OpenCensus-Go stats worker provide a method Flush to flush all data. Without it, metrics will contain stale data from previous tests. Add tests to lock-in this behavior. Updates #63
Instrument interceptor/opencensus with stats to record the number of received spans. This is accomplished by a helper to process spans that sends over spans even if the number of spans is 0. Also record with tag_key "opencensus_interceptor" whose value is the name of the respective interceptor. The test to ensure that 0 length spans are also added is currently disabled because: * Issue census-instrumentation/opencensus-go#862 is not yet implemented which requests that the OpenCensus-Go stats worker provide a method Flush to flush all data. Without it, metrics will contain stale data from previous tests. Add tests to lock-in this behavior. Updates #63
Please also install the ocgrpc plugin for the interceptor gRPC server. |
Great suggestions @bogdandrutu! Also I think in the future(after we've finished rolling out this instrumentation), would it make sense for us to extract information from the node? For example:
|
Same thoughts, I actually have a TODO in the code as per opencensus-service/interceptor/opencensus/trace_interceptor.go Lines 89 to 91 in d91241e
but I think the even better way would be to create a helper method say in |
Instrument interceptor/opencensus with stats to record the number of received spans. This is accomplished by a helper to process spans that sends over spans even if the number of spans is 0. Also record with tag_key "opencensus_interceptor" whose value is the name of the respective interceptor. The test to ensure that 0 length spans are also added is currently disabled because: * Issue census-instrumentation/opencensus-go#862 is not yet implemented which requests that the OpenCensus-Go stats worker provide a method Flush to flush all data. Without it, metrics will contain stale data from previous tests. Add tests to lock-in this behavior. Updates #63
Instrument interceptor/opencensus with stats to record the number of received spans. This is accomplished by a helper to process spans that sends over spans even if the number of spans is 0. Also record with tag_key "opencensus_interceptor" whose value is the name of the respective interceptor. The test to ensure that 0 length spans are also added is currently disabled because: * Issue census-instrumentation/opencensus-go#862 is not yet implemented which requests that the OpenCensus-Go stats worker provide a method Flush to flush all data. Without it, metrics will contain stale data from previous tests. Add tests to lock-in this behavior. Updates #63
@odeke-em just having a todo to also add tags from the Node is fine for the moment. |
Instrument interceptor/opencensus with stats to record the number of received spans. This is accomplished by a helper to process spans that sends over spans even if the number of spans is 0. Also record with tag_key "opencensus_interceptor" whose value is the name of the respective interceptor. The test to ensure that 0 length spans are also added is currently disabled because: * Issue census-instrumentation/opencensus-go#862 is not yet implemented which requests that the OpenCensus-Go stats worker provide a method Flush to flush all data. Without it, metrics will contain stale data from previous tests. Add tests to lock-in this behavior. Also replace grpc.NewServer with a stats enabled server helper call. This enables tracing and metrics for each gRPC server by replacing naked usages of grpc.NewServer with the new helper function: internal.GRPCServerWithObservabilityEnabled Updates #63
@bogdandrutu perfect. I've done that!
EDIT: I'll take a look at this right now. |
Trace instrument the section that performs batch uploading to the spanreceiver. The created span has a parent link from the initiating RPC's span. Added tests to ensure that these conditions always hold. Updates #63
Trace instrument the section that performs batch uploading to the spanreceiver. The created span has a parent link from the initiating RPC's span. Added tests to ensure that these conditions always hold. Updates #63
Trace instrument the section that performs batch uploading to the spanreceiver. The created span has a parent link from the initiating RPC's span. Added tests to ensure that these conditions always hold. Updates #63
Trace instrument the section that performs batch uploading to the spanreceiver. The created span has a parent link from the initiating RPC's span. Added tests to ensure that these conditions always hold. Updates #63
Trace instrument the section that performs batch uploading to the spanreceiver. The created span has a parent link from the initiating RPC's span. Added tests to ensure that these conditions always hold. Updates #63
Maybe add a md file in the interceptor about how to instrument any interceptor. |
In deed, great suggestion @bogdandrutu, I filed #79. |
Instrument interceptor/opencensus with stats to record the number of received spans. This is accomplished by a helper to process spans that sends over spans even if the number of spans is 0. Also record with tag_key "opencensus_interceptor" whose value is the name of the respective interceptor. The test to ensure that 0 length spans are also added is currently disabled because: * Issue census-instrumentation/opencensus-go#862 is not yet implemented which requests that the OpenCensus-Go stats worker provide a method Flush to flush all data. Without it, metrics will contain stale data from previous tests. Add tests to lock-in this behavior. Also replace grpc.NewServer with a stats enabled server helper call. This enables tracing and metrics for each gRPC server by replacing naked usages of grpc.NewServer with the new helper function: internal.GRPCServerWithObservabilityEnabled Updates census-instrumentation#63
Trace instrument the section that performs batch uploading to the spanreceiver. The created span has a parent link from the initiating RPC's span. Added tests to ensure that these conditions always hold. Updates census-instrumentation#63
Trace
For trace, we start a Span every time we start a new batch (will end when we call the ReceiveSpans). Because the RPC is a bidirectional and can live long we need to decouple this span from the RPC span, but because they are related we should add the RPC span as parent link (here is a good example where links as useful).
Stats
Measure:
oc.io/interceptor/received_spans
- long valueTags:
opencensus_interceptor
Measurement:
For
oc.io/interceptor/received_spans
we record a measurement every time we receive a new message from the client even if the number is 0.Views:
We should install a distribution view with buckets {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 150, 200, 250, 300, 450, 500, 600, 700, 800, 900, 1000, 1200, 1400, 1600, 1800, 2000}
The text was updated successfully, but these errors were encountered: