-
Notifications
You must be signed in to change notification settings - Fork 15
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
Provide the dependency ID when tracking dependencies #243
Comments
As mentioned, we should maybe return the dependency ID when calling |
The problem is, you will only track the dependency after the request so you have to generate the dependency ID up front and pass it when tracking the dependency so that you can send it to your downstream service. |
That's maybe the responsibility of the consumer. |
Certainly, but you have to allow them to generate and provide it. If you only return it as suggested here it will not work |
Should we actually add this dependency ID to very dependency call we already have? This means doubling our current set of dependency calls (both with and without a dependency measurement). I'm wondering if it's better to work with options that we can more easily expand. |
Yes that is the case, or it could be an optional parameter but then we can have conflicts again so overloads might be best suited
Options are great but add some friction in my opinion as it would make the code more verbose, IMO, but I'm happy to consider it. Would you mind posting a sample? |
logger.LogBlobStorageDependency(
"<account-name>",
"<container-name>",
options =>
{
options.IsSuccessful = true;
options.StartTime = DateTimeOffset.UtcNow;
options.Duration = TimeSpan.FromSeconds(10);
options.DependencyId = "<dependency-id>";
},
context: new Dictionary<string, object> ()); |
This is more verbose imo but I don't have a strong opinion - @fgheysels @gverstraete ? |
Let's keep it as it is, for now. The signature is already complex enough, no need to further complicate it. |
I'm not sure if I'm following the use case here. Maybe we can have a short call on this @stijnmoreels ? |
@stijnmoreels do we continue with this ? |
Yes, we continue with this. Was taking this between other work now and then. |
Great, this monster 👾 of an issue is finally done! |
Is your feature request related to a problem? Please describe.
When tracking dependencies, we should include an dependency ID so the later request tracking can use it for its parent operation ID in a service-to-service correlation scenario.
Describe the solution you'd like
We should include an
dependencyId
to all our available dependencies. This will usually result in method extension overloads.Additional context
https://github.com/arcus-azure/arcus-service-to-service-correlation-poc
The dependency ID should be added to the following dependency types as extensions overloads:
The text was updated successfully, but these errors were encountered: