-
Notifications
You must be signed in to change notification settings - Fork 116
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
Public API for destination fields #424
Comments
Please note that intake API in 7.11 doesn't allow leaving out or setting to |
Another thing to consider is what to do if the users explicitly provide |
@SergeyKleyman Makes sense, you mean something like
@felixbarny you mean - avoid sending or sending |
I mean if someone sets |
Yes, something like that. In PHP it's
It's a good point. Of course for languages that support nullability as part of the type system (for example Kotlin, C# 8+ and PHP 7.1+ :) it's less of an issue. |
While writing the destination spec (#435), I noticed the fields Hence, I don't think it makes sense to let users (and ourselves) think hard about which values to set when it doesn't matter at all. Some options
Before implementing changes in the API, we should come to a conclusion first. |
Update: first early draft: #436 |
FWIW, the Go agent does not currently expose "type" as something that can be set by users; it is always internally set to the span type. I wonder if we should always infer name, resource, and type in the server? We already have to do that for Jaeger and OpenTelemetry, so why not our own spans? I'm inclined this way, but I'm not sure if we have any use-cases for setting custom destination service context. In the past I believe the team discussed using |
In order to be able to summarize stats for dropped spans (part of the chatty apps proposal #432), agents need to know the resource. But we could definitely infer the name and type in the server. As the fields are required in the intake API, agents would need to continue to populate the field even if we change the server to do the inference. That's because we want agents to be compatible with new and old APM Server versions. Agents could check the version of the Server and not send the fields for newer versions, though.
@ogupte said
I think the UI is using |
Ah right.
Yep. I was thinking if we could make them all inferred in the server, then the agents could simply omit |
Fields relevant for the icons are: I've created a proposal about deprecating |
Replaced by #448 |
Extend the public APIs of the agents to allow setting destination fields.
Relevant fields are:
context.destination.address
context.destination.port
context.destination.service.name
context.destination.service.type
context.destination.service.resource
context.destination.cloud.region
Status
The text was updated successfully, but these errors were encountered: