Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix support for ETW tracing on linux and custom backends #1796

Closed
sebastianburckhardt opened this issue Apr 20, 2021 · 2 comments · Fixed by #1848
Closed

Fix support for ETW tracing on linux and custom backends #1796

sebastianburckhardt opened this issue Apr 20, 2021 · 2 comments · Fixed by #1848
Assignees
Labels
Milestone

Comments

@sebastianburckhardt
Copy link
Collaborator

Description

There's a bug in the linux trace collection which means ETW event sources inside custom backends are not collected.

The problem is in EventSourceListener.cs. Specifically, OnEventSourceCreated is called before the constructor EventSourceListener is called, thus the field durabilityProviderEventSourceName has not been initialized yet. So the comparison always fails.

@ConnorMcMahon
Copy link
Contributor

@bachuv, I believe this is related to your recent change. We will want to make sure we fix this before we have a bundles release that could break linux logging for existing Linux consumption customers.

@ConnorMcMahon ConnorMcMahon added this to the v2.5.0 milestone Apr 27, 2021
@bachuv
Copy link
Collaborator

bachuv commented Apr 28, 2021

@ConnorMcMahon It looks like there is a delay for when durabilityProviderEventSourceName gets assigned so any calls to OnEventSourceCreated before that will evaluate eventSource.Name == this.durabilityProviderEventSourceName as false. Before updating this condition to use durabilityProviderEventSourceName, there were comparisons between eventSource.Name and hard coded event source name values (e.g. "DurableTask-AzureStorage"). The reason we added this field was to support a variety of durability providers and allow customers to configure their own durability provider. Maybe we go back to having a list of hard coded values for supported durability providers and if a customer uses another durability provider then they set an additional environment variable with the event source name?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants