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

Include a representation of the Stripe "concept" and action in instrumentation event payloads #1178

Open
agrobbin opened this issue Feb 15, 2023 · 4 comments

Comments

@agrobbin
Copy link

Is your feature request related to a problem? Please describe.

This issue has gone the other direction of most, coming out of #1168, where there was discussion about the implementation and the underlying intent/goal.

When instrumenting Stripe through an APM tool (like DataDog), it would be great to have something available within instrumentation event payloads that represents the Stripe "concept" and action being interacted with.

Describe the solution you'd like

As an example, when creating a customer, having object: customer, action: create would be ideal. There is already method, which is the HTTP method, so that might be good enough for the action, however, there really isn't an equivalent for the "concept".

path might sometimes work (POST /customers), but when updating a customer, seeing PATCH /customers/cus_123 as the higher-level interaction does not provide the value within APM as something like customer.update, which groups updates across customers.

Describe alternatives you've considered

No response

Additional context

DataDog's dd-trace-rb gem now has Stripe integration (DataDog/dd-trace-rb#2557), which includes tags for the path and method, but there isn't a great value to use as the resource.

For comparison, instrumenting the AWS SDK results in values like s3.list_buckets, s3.get_object, etc.

I hope this is helpful context!

@pakrym-stripe
Copy link
Contributor

Hi. I chatted with the team an we think this feature makes sense in the context of distributed tracing.

With the library changes that I mentioned in the linked PR coming we'd like to take a bit more time to design distributed tracing in a way that's consistent between all seven libraries.

@agrobbin
Copy link
Author

OK that's helpful @pakrym-stripe, thanks! Should I leave this issue open while that design process plays out?

@pakrym-stripe
Copy link
Contributor

Yes, let's keep it open. We'd love to judge the level of interest in the community and factor that into our planning.

@msf-caesar
Copy link

Try with including a new field in the instrumentation event payloads called "concept" which represents the high-level concept being interacted with (e.g., customer, payment). For each action, include a corresponding value (e.g., create, update). This will provide a clear representation of the Stripe concept and action within APM tools like DataDog.

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

No branches or pull requests

3 participants