Skip to content
This repository has been archived by the owner on Oct 3, 2023. It is now read-only.

Instrumentation best practice guide. #192

Closed
tcolgate opened this issue Jul 25, 2018 · 1 comment
Closed

Instrumentation best practice guide. #192

tcolgate opened this issue Jul 25, 2018 · 1 comment

Comments

@tcolgate
Copy link

One of he best thing about the Prometheus site was the Best Practices documentation. This gave relatively product agnostic best practice tips for instrumenting code. Some was prom specific, but much was just good advice.

https://prometheus.io/docs/practices/instrumentation/

Similar advice for tracing is hard to come by.

e.g.

  • how many spans is too many?
  • span naming, (is cardinality a problem? we hit issue in jaeger)
  • usage of logs (I've attempted to have all app logs within spanned code mirrored into spans, is that a good idea?)
  • usage of message events
  • what's appropriate for tags
  • what's appropriate for propagated tags (once supported).

I'd be happy to contribute, perhaps source and edit advise, but I definitely have not had sufficient experience to know what is good or useful (we are just beginning our tracing journey).

@nikmd23
Copy link
Contributor

nikmd23 commented Jul 25, 2018

I hear these questions from my customers a lot as well.

@tcolgate, I'd be happy to review and contribute additional leanings we come across to this if you want to take a first stab at it.

Additional "advice" to consider:

  • How should I do sampling?
  • What's the right sampling rate?
  • How to handle "persistent connections" (WebSockets, etc)

Even if it isn't accepted as an OpenCensus doc, I think it's useful.

@tcolgate tcolgate closed this as completed Nov 7, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants