Skip to content

Add Open Telemetry Spec attributes to IMC Dispatcher span#4659

Merged
knative-prow-robot merged 4 commits into
knative:masterfrom
xtreme-sameer-vohra:4578-trace-attr
Jan 14, 2021
Merged

Add Open Telemetry Spec attributes to IMC Dispatcher span#4659
knative-prow-robot merged 4 commits into
knative:masterfrom
xtreme-sameer-vohra:4578-trace-attr

Conversation

@xtreme-sameer-vohra
Copy link
Copy Markdown
Contributor

Fixes #4578

Proposed Changes

  • imc dispatcher adds the following attributes to trace span to make it consistent with broker ingress and filter spans
      messaging.destination
      messaging.message_id
      messaging.protocol
      messaging.system
  • update channel spec observability section to reference the Open Telemetry Spec attributes

  • update channel spec for readability

  • 🧹 Update or clean up current behavior

Release Note

The  `imc-dispatcher` service adds new trace span attributes to be consistent with `broker-ingress.knative-eventing` & `broker-filter.knative-eventing` services. The new attributes are messaging.destination,  messaging.message_id, messaging.protocol and messaging.system

@google-cla google-cla Bot added the cla: yes Indicates the PR's author has signed the CLA. label Dec 15, 2020
@knative-prow-robot knative-prow-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Dec 15, 2020
@xtreme-sameer-vohra
Copy link
Copy Markdown
Contributor Author

I wasn't sure if there is a better approach to populate the destination attribute so the simple approach uses url, which is accurate but not as user friendly as those for the other 2 services.

@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 15, 2020

Codecov Report

Merging #4659 (ecb6684) into master (3aff77d) will increase coverage by 0.00%.
The diff coverage is 72.72%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #4659   +/-   ##
=======================================
  Coverage   81.07%   81.08%           
=======================================
  Files         291      291           
  Lines        8216     8220    +4     
=======================================
+ Hits         6661     6665    +4     
  Misses       1154     1154           
  Partials      401      401           
Impacted Files Coverage Δ
pkg/channel/message_dispatcher.go 77.31% <0.00%> (ø)
pkg/tracing/populate_span_transformer.go 73.33% <80.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3aff77d...9ed38da. Read the comment docs.

@xtreme-sameer-vohra xtreme-sameer-vohra force-pushed the 4578-trace-attr branch 2 times, most recently from 27dfb0b to 8f47744 Compare December 15, 2020 22:56
Comment thread docs/spec/channel.md
@matzew
Copy link
Copy Markdown
Member

matzew commented Dec 16, 2020

@skonto @pierDipi mind to look ?

Comment thread docs/spec/channel.md Outdated
Comment thread docs/spec/channel.md
Comment on lines +387 to +402
The Channel MUST recognize and pass through all tracing information from sender
to subscribers using [W3C Tracecontext](https://w3c.github.io/trace-context/),
although internally it MAY use another mechanism(s) to propagate the tracing
information. The Channel SHOULD sample and write traces to the location
specified in
[`config-tracing`](https://github.com/knative/eventing/blob/master/config/config-tracing.yaml).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same applies for broker

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to me the observabiliity parts of broker and channel should be exactly the same. I am wondering if it worths it is own spec and just reference the spec in both channel and broker. Adam also mentioned that whether the broker should have some common metrics, but I remembered the last conversation ended with not going to implement it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zhongduo thats a fair point.
In the current spec, the channel has an additional requirement of passing through tracing info from sender to subscribers. It sounds like that would be applicable for the Broker as well ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It sounds like that would be applicable for the Broker as well ?

Yep, and similar to channel, there is no constraint on how to propagate tracing informations

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it will be very confusing if there are difference between Channel and broker, as you can build a "broker" using channels.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as you can build a "broker" using channels.

But that would be an implementation detail of how you build that particular broker

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't really thinking about "how to build the broker". My point is that in tracing side, most requirements in broker will apply in channel as well, so just wondering how we can avoid such an inconsistency. I do understand theoretically they can be very different, but at least now they looks related to me.

Comment thread docs/spec/channel.md Outdated
Comment thread docs/spec/channel.md Outdated
Comment thread pkg/channel/message_dispatcher.go Outdated
Comment thread docs/spec/channel.md
- the backoff rate

#### Metrics
#### Observability
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This name change makes perfect sense. Thanks for catching that.

Comment thread docs/spec/channel.md
Comment on lines +387 to +402
The Channel MUST recognize and pass through all tracing information from sender
to subscribers using [W3C Tracecontext](https://w3c.github.io/trace-context/),
although internally it MAY use another mechanism(s) to propagate the tracing
information. The Channel SHOULD sample and write traces to the location
specified in
[`config-tracing`](https://github.com/knative/eventing/blob/master/config/config-tracing.yaml).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to me the observabiliity parts of broker and channel should be exactly the same. I am wondering if it worths it is own spec and just reference the spec in both channel and broker. Adam also mentioned that whether the broker should have some common metrics, but I remembered the last conversation ended with not going to implement it.

@zhongduo
Copy link
Copy Markdown
Contributor

zhongduo commented Dec 16, 2020 via email

@xtreme-sameer-vohra xtreme-sameer-vohra changed the title Add Open Telemetry Spec attributes to IMC Dispatcher span WIP: Add Open Telemetry Spec attributes to IMC Dispatcher span Dec 16, 2020
@knative-prow-robot knative-prow-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 16, 2020
Comment thread pkg/tracing/populate_span_transformer.go Outdated
@knative-prow-robot knative-prow-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. area/test-and-release Test infrastructure, tests or release and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Dec 17, 2020
@xtreme-sameer-vohra xtreme-sameer-vohra changed the title WIP: Add Open Telemetry Spec attributes to IMC Dispatcher span Add Open Telemetry Spec attributes to IMC Dispatcher span Dec 18, 2020
@knative-prow-robot knative-prow-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 18, 2020
@xtreme-sameer-vohra
Copy link
Copy Markdown
Contributor Author

/retest

@xtreme-sameer-vohra
Copy link
Copy Markdown
Contributor Author

I was able to run the rekt -> TestBrokerAsMiddleware locally

go test -v -tags=e2e -count=1 ./test/rekt -run ^TestBrokerAsMiddleware$
2020/12/18 17:04:17 PWD:  /Users/svohra/go/src/knative.dev/eventing/test/rekt
2020/12/18 17:04:17 FILENAME:  /Users/svohra/go/src/knative.dev/eventing/vendor/knative.dev/reconciler-test/pkg/eventshub/resources.go
{"level":"info","ts":1608332657.09967,"logger":"fallback","caller":"injection/injection.go:61","msg":"Starting informers..."}
level All, state Any

=== RUN   TestBrokerAsMiddleware
=== PAUSE TestBrokerAsMiddleware
=== CONT  TestBrokerAsMiddleware
ko publish -B knative.dev/reconciler-test/cmd/eventshub
=== RUN   TestBrokerAsMiddleware/Prerequisite
=== RUN   TestBrokerAsMiddleware/Prerequisite/Setup
=== RUN   TestBrokerAsMiddleware/Prerequisite/Setup/install_broker_"default"
2020/12/18 17:04:39 PWD:  /Users/svohra/go/src/knative.dev/eventing/test/rekt
2020/12/18 17:04:39 FILENAME:  /Users/svohra/go/src/knative.dev/eventing/test/rekt/resources/broker/broker.go
2020/12/18 17:04:39 new files in /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml751265804
I1218 17:04:39.280437   46057 manifest.go:62] Reading YAML filepath: /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml751265804 recursive: false
I1218 17:04:39.934307   46057 manifest.go:85] Creating type eventing.knative.dev/v1, Kind=Broker name default
2020/12/18 17:04:40 Created:
2020/12/18 17:04:40 {Broker rekt-uiuxjrcp default  eventing.knative.dev/v1  }
=== RUN   TestBrokerAsMiddleware/Prerequisite/Requirement
=== RUN   TestBrokerAsMiddleware/Prerequisite/Assert
=== RUN   TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_ready
=== PAUSE TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_ready
=== RUN   TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_addressable
=== PAUSE TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_addressable
=== CONT  TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_ready
=== CONT  TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_addressable
2020/12/18 17:04:40 eventing.knative.dev/v1, Resource=brokers default has no status.address.url, %!s(<nil>)
2020/12/18 17:04:43 eventing.knative.dev/v1, Resource=brokers default is addressable: http://broker-ingress.knative-eventing.svc.cluster.local/rekt-uiuxjrcp/default
=== RUN   TestBrokerAsMiddleware/Prerequisite/Teardown
=== RUN   TestBrokerAsMiddleware/Setup
=== RUN   TestBrokerAsMiddleware/Setup/install_sink_and_install_trigger_and_trigger_goes_ready_and_install_source
2020/12/18 17:04:43 PWD:  /Users/svohra/go/src/knative.dev/eventing/test/rekt
2020/12/18 17:04:43 FILENAME:  /Users/svohra/go/src/knative.dev/eventing/vendor/knative.dev/reconciler-test/pkg/eventshub/resources.go
2020/12/18 17:04:43 new files in /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml160034590
I1218 17:04:43.626228   46057 manifest.go:62] Reading YAML filepath: /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml160034590 recursive: false
I1218 17:04:43.705574   46057 manifest.go:85] Creating type /v1, Kind=ServiceAccount name sink-ackvblvf
I1218 17:04:43.865522   46057 manifest.go:85] Creating type rbac.authorization.k8s.io/v1, Kind=Role name sink-ackvblvf
I1218 17:04:44.075676   46057 manifest.go:85] Creating type rbac.authorization.k8s.io/v1, Kind=RoleBinding name sink-ackvblvf
I1218 17:04:44.257005   46057 manifest.go:85] Creating type /v1, Kind=Service name sink-ackvblvf
I1218 17:04:44.386232   46057 manifest.go:85] Creating type /v1, Kind=Pod name sink-ackvblvf
2020/12/18 17:04:44 Created:
2020/12/18 17:04:44 {ServiceAccount rekt-uiuxjrcp sink-ackvblvf  v1  }
2020/12/18 17:04:44 {Role rekt-uiuxjrcp sink-ackvblvf  rbac.authorization.k8s.io/v1  }
2020/12/18 17:04:44 {RoleBinding rekt-uiuxjrcp sink-ackvblvf  rbac.authorization.k8s.io/v1  }
2020/12/18 17:04:44 {Service rekt-uiuxjrcp sink-ackvblvf  v1  }
2020/12/18 17:04:44 {Pod rekt-uiuxjrcp sink-ackvblvf  v1  }
    event_info_store.go:73: Store added to the EventListener, which has already seen 5 events
2020/12/18 17:04:50 PWD:  /Users/svohra/go/src/knative.dev/eventing/test/rekt
2020/12/18 17:04:50 FILENAME:  /Users/svohra/go/src/knative.dev/eventing/test/rekt/resources/trigger/trigger.go
2020/12/18 17:04:50 new files in /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml989034217
I1218 17:04:50.831243   46057 manifest.go:62] Reading YAML filepath: /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml989034217 recursive: false
I1218 17:04:50.890595   46057 manifest.go:85] Creating type eventing.knative.dev/v1, Kind=Trigger name via-ttbbsqle
2020/12/18 17:04:50 Created:
2020/12/18 17:04:50 {Trigger rekt-uiuxjrcp via-ttbbsqle  eventing.knative.dev/v1  }
2020/12/18 17:04:51 PWD:  /Users/svohra/go/src/knative.dev/eventing/test/rekt
2020/12/18 17:04:51 FILENAME:  /Users/svohra/go/src/knative.dev/eventing/vendor/knative.dev/reconciler-test/pkg/eventshub/resources.go
2020/12/18 17:04:51 new files in /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml730321155
I1218 17:04:51.020240   46057 manifest.go:62] Reading YAML filepath: /var/folders/mf/9ld4g_fn6kz01xylk1p65vgm0000gp/T/processed_yaml730321155 recursive: false
I1218 17:04:51.086970   46057 manifest.go:85] Creating type /v1, Kind=ServiceAccount name source-ipvbprvm
I1218 17:04:51.176327   46057 manifest.go:85] Creating type rbac.authorization.k8s.io/v1, Kind=Role name source-ipvbprvm
I1218 17:04:51.276325   46057 manifest.go:85] Creating type rbac.authorization.k8s.io/v1, Kind=RoleBinding name source-ipvbprvm
I1218 17:04:51.492733   46057 manifest.go:85] Creating type /v1, Kind=Service name source-ipvbprvm
I1218 17:04:51.613690   46057 manifest.go:85] Creating type /v1, Kind=Pod name source-ipvbprvm
2020/12/18 17:04:51 Created:
2020/12/18 17:04:51 {ServiceAccount rekt-uiuxjrcp source-ipvbprvm  v1  }
2020/12/18 17:04:51 {Role rekt-uiuxjrcp source-ipvbprvm  rbac.authorization.k8s.io/v1  }
2020/12/18 17:04:51 {RoleBinding rekt-uiuxjrcp source-ipvbprvm  rbac.authorization.k8s.io/v1  }
2020/12/18 17:04:51 {Service rekt-uiuxjrcp source-ipvbprvm  v1  }
2020/12/18 17:04:51 {Pod rekt-uiuxjrcp source-ipvbprvm  v1  }
    event_info_store.go:73: Store added to the EventListener, which has already seen 13 events
=== RUN   TestBrokerAsMiddleware/Requirement
=== RUN   TestBrokerAsMiddleware/Assert
=== RUN   TestBrokerAsMiddleware/Assert/[Stable/MUST]broker_as_middleware_deliver_an_event
=== PAUSE TestBrokerAsMiddleware/Assert/[Stable/MUST]broker_as_middleware_deliver_an_event
=== CONT  TestBrokerAsMiddleware/Assert/[Stable/MUST]broker_as_middleware_deliver_an_event
=== RUN   TestBrokerAsMiddleware/Teardown
--- PASS: TestBrokerAsMiddleware (43.77s)
    --- PASS: TestBrokerAsMiddleware/Prerequisite (4.35s)
        --- PASS: TestBrokerAsMiddleware/Prerequisite/Setup (1.16s)
            --- PASS: TestBrokerAsMiddleware/Prerequisite/Setup/install_broker_"default" (1.16s)
        --- PASS: TestBrokerAsMiddleware/Prerequisite/Requirement (0.00s)
        --- PASS: TestBrokerAsMiddleware/Prerequisite/Assert (0.00s)
            --- PASS: TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_ready (0.03s)
            --- PASS: TestBrokerAsMiddleware/Prerequisite/Assert/[Stable/MUST]broker_be_addressable (3.19s)
        --- PASS: TestBrokerAsMiddleware/Prerequisite/Teardown (0.00s)
    --- PASS: TestBrokerAsMiddleware/Setup (13.13s)
        --- PASS: TestBrokerAsMiddleware/Setup/install_sink_and_install_trigger_and_trigger_goes_ready_and_install_source (13.13s)
    --- PASS: TestBrokerAsMiddleware/Requirement (0.00s)
    event_info_store.go:161: Assert passed
    event_info_store.go:173: Assert passed
    event_info_store.go:200: Assert passed
    --- PASS: TestBrokerAsMiddleware/Assert (0.00s)
        --- PASS: TestBrokerAsMiddleware/Assert/[Stable/MUST]broker_as_middleware_deliver_an_event (4.01s)
    --- PASS: TestBrokerAsMiddleware/Teardown (0.00s)
PASS
ok  	knative.dev/eventing/test/rekt	43.914s

Am I missing something or is the test a flake ?

Comment on lines +129 to +130
// 3. Channel Dispatcher span
// 4. Channel sends event to Mutator pod.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why 2 spans here? Are we sure this isn't an impl detail here and only 1 match should be done (the point 3)?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I discovered the the span containing the cloudevent & tracing tags wasn't being tested previously.

Removing the assertion for the span corresponding to Channel sends event to Mutator pod doesn't impact the issue this PR is attempting to address. However, It would just loose the test case to ensure the http status of the resultant request is not tested. I'd defer the importance of testing/not testing to folks with more context.

Looking at the broker tests, it doesn't appear that they are asserting for the presence of the span with the http status either.

So, I am happy to drop the assertions for spans corresponding to 4, 7 and 10.

Does that make sense @slinkydeveloper ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I think i explained myself wrongly. Why do assert the span:

Channel Dispatcher span

Isn't that an implementation detail?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats the span that contains the Open Telemetry Spec Attributes that this PR adds
Ditto for spans labeled 6 and 9


if span.IsRecordingEvents() {
err = kncloudevents.WriteHTTPRequestWithAdditionalHeaders(ctx, message, req, additionalHeaders, kncloudevents.PopulateSpan(span))
err = kncloudevents.WriteHTTPRequestWithAdditionalHeaders(ctx, message, req, additionalHeaders, tracing.PopulateSpan(span, url.String()))
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you're keeping kncloudevents.PopulateSpan (which is fine, to avoid breaking downstream), can you add the deprecated comment to such function to signal users to use this new one in tracing module?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The kncloudevents.PopulateSpan function & file was removed in the PR. However, I hadn't considered how this change might impact downstream.
The only references to PopulateSpan were from message_dispatcher.go, which I assumed would be shipped together. Are there downstream uses cases that would be affected ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I honestly don't remember, try to remove the function and check if the downstream checks break 😄

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this PR removes the function I was looking at the downstream checks for the PR. It looks like all but the Kafka downstream checks are passing. I am not sure if the Kafka failure is related to the changes in the PR.

I also did a github search in knative org and knative-sandbox org and the only reference is message_dispatcher.go, so this change feels safe.

Any additional things I could check ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, rebased off master just now and now the downstream kafak test is passing but the rabbit and nats ones are failing due to go mod issues.


expectedAttributes := map[string]interface{}{
"messaging.system": "knative",
"messaging.protocol": "HTTP",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that http is the protocol used, do we support https? How about protocol version maybe we should be explicit as there is wip (if I understood correctly) for http/2?

Copy link
Copy Markdown
Contributor Author

@xtreme-sameer-vohra xtreme-sameer-vohra Dec 22, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @skonto
If I understood correctly, once the http/2 feature is wrapped up, the protocol string could change and hence hardcoding a value in the test is not a good idea.

The current implementation has it hardcoded here which would need to change once the http/2 feature is completed.

If that change is imminent;

  • the assertion could be updated to match a regex
  • the string could be pulled out and put into an enum ( would still only be configured for HTTP for now )
  • and if the test assertion for protocol isn't very valuable, the assertion for protocol could be dropped

wdyt ?

Copy link
Copy Markdown
Contributor

@slinkydeveloper slinkydeveloper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor things, but for me we're good to go


if span.IsRecordingEvents() {
err = kncloudevents.WriteHTTPRequestWithAdditionalHeaders(ctx, message, req, additionalHeaders, kncloudevents.PopulateSpan(span))
err = kncloudevents.WriteHTTPRequestWithAdditionalHeaders(ctx, message, req, additionalHeaders, tracing.PopulateSpan(span, url.String()))
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I honestly don't remember, try to remove the function and check if the downstream checks break 😄

Comment on lines +129 to +130
// 3. Channel Dispatcher span
// 4. Channel sends event to Mutator pod.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I think i explained myself wrongly. Why do assert the span:

Channel Dispatcher span

Isn't that an implementation detail?

- trace should include Open Telemetry Spec attributes (messaging.*)
  messaging.destination
  messaging.message_id
  messaging.protocol
  messaging.system
- change Metrics -> Observability, to match spec/broker.md
- relocate trace pass through & trace config information from Misc to Observability sections
- add section specifying messaging.* attributes that should be included
  in the trace span

Signed-off-by: Sameer Vohra <vsameer@vmware.com>
- add check for Open Telemetry Spec tags (messaging.*) in spans emitted
  by message dispatcher
- exported helpful regex host suffix
- re-worked the channel trace tree to include all the missing
  dispatcher spans.

Signed-off-by: Sameer Vohra <vsameer@vmware.com>
- nit: change transformer -> mutator for consistency

Signed-off-by: Sameer Vohra <vsameer@vmware.com>
@knative-metrics-robot
Copy link
Copy Markdown

The following is the coverage report on the affected files.
Say /test pull-knative-eventing-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/tracing/populate_span_transformer.go Do not exist 86.7%

@xtreme-sameer-vohra
Copy link
Copy Markdown
Contributor Author

Minor things, but for me we're good to go

Hey @slinkydeveloper
I responded in the threads for each of those. Could I get your take on them and if you feel more changes are required to merge the change ?

@slinkydeveloper
Copy link
Copy Markdown
Contributor

slinkydeveloper commented Jan 12, 2021

For me this is good to go and I see all comments were addressed
/approve
/lgtm

@knative-prow-robot knative-prow-robot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jan 12, 2021
@vaikas
Copy link
Copy Markdown
Contributor

vaikas commented Jan 14, 2021

Conformance / upgrade failed to bring the cluster up:

targetLink: 'https://container.googleapis.com/v1beta1/projects/915326016979/locations/us-central1/clusters/e2e-cls-dxbpqzgi'
 zone: 'us-central1'>] finished with error: All cluster resources were brought up, but: component "kube-apiserver" from endpoint "gke-40ccdc8f54a64a9a96a5-71bc" is unhealthy.
W0112 18:17:50.232314     279 up.go:44] repo-root not supplied, skip dumping cluster logs
Error: error creating clusters: error creating cluster: exit status 1
2021/01/12 18:17:50 Failed to run tests with kubetest2: exit status 1

Broker middlewater is #4637
/retest

@vaikas
Copy link
Copy Markdown
Contributor

vaikas commented Jan 14, 2021

Also rerunning the downstream tests, natss/rabbitmq should be fixed, but keda is being worked on.

@vaikas
Copy link
Copy Markdown
Contributor

vaikas commented Jan 14, 2021

As expected keda is still failing, everything else is passing.

Thanks for doing this @xtreme-sameer-vohra
/lgtm
/approve

@knative-prow-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: slinkydeveloper, vaikas, xtreme-sameer-vohra

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [slinkydeveloper,vaikas]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow-robot knative-prow-robot merged commit 056bc25 into knative:master Jan 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/test-and-release Test infrastructure, tests or release cla: yes Indicates the PR's author has signed the CLA. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Tracing] Consistent span attribute key for CloudEvent id

9 participants