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

Add message UUID so that we can follow e2e flow #399

Closed
drasko opened this issue Sep 19, 2018 · 5 comments · Fixed by #782
Closed

Add message UUID so that we can follow e2e flow #399

drasko opened this issue Sep 19, 2018 · 5 comments · Fixed by #782
Assignees
Labels
Milestone

Comments

@drasko
Copy link
Contributor

drasko commented Sep 19, 2018

Add UUID to each message that flows though Mainflux so we can log and follow the flow.

For RewMessage UUID field with be UUIDv4. For Message UUID can be <parent_uuid>.<local_increment> format - for example <parent_uuid>.0, <parent_uuid>.1 and so on - because RawMessage is de-aggregated locally in normalizer.

@drasko drasko assigned ghost Sep 19, 2018
@drasko drasko added the feature label Sep 19, 2018
@drasko drasko changed the title Add RawMessage UUID so that we can follow e2e flow Add message UUID so that we can follow e2e flow Sep 19, 2018
@nmarcetic nmarcetic added this to the 0.7.0 milestone Oct 1, 2018
@drasko
Copy link
Contributor Author

drasko commented Nov 25, 2018

@srados please take this issue with high priority, so that we can release 0.7. @anovakovic01 please help on this issue.

@nwest1
Copy link
Contributor

nwest1 commented Nov 29, 2018

Sorry - didn't find this issue when I searched.

using a uuid would adhere to the similar opentracing format, so that would be perfect: https://github.com/opentracing/specification/blob/master/rfc/trace_identifiers.md#trace-context-http-headers

Similar to opentracing, I would ask that the ID be able to be set as an input field (or header?) so that correlation could accomplished across upstream systems.

@drasko
Copy link
Contributor Author

drasko commented Nov 29, 2018

@srados while on this, please take a look at Jaeger as well - there is go-kit support already: https://github.com/go-kit/kit/tree/master/tracing#opentracing

We should use this opportunity to align as much as possible to https://opentracing.io/specification/ and make implementation future proof.

Also, please investigate if something other should be changed/added to adhere to the standard.

@ghost
Copy link

ghost commented Nov 30, 2018

using a uuid would adhere to the similar opentracing format, so that would be perfect: https://github.com/opentracing/specification/blob/master/rfc/trace_identifiers.md#trace-context-http-headers

Similar to opentracing, I would ask that the ID be able to be set as an input field (or header?) so that correlation could accomplished across upstream systems.

@nwest1 header would be ok for HTTP and gRPC however, we also have MQTT and WS that need to receive the correlation ID from upstream. What is your opinion on that?

@drasko drasko modified the milestones: 0.7.0, 0.8.0 Dec 8, 2018
@anovakovic01 anovakovic01 assigned anovakovic01 and unassigned ghost Jan 16, 2019
@nmarcetic
Copy link
Collaborator

PoC with opentracing integration is in WIP. Moving this to 0.9

@nmarcetic nmarcetic modified the milestones: 0.8.0, 0.9.0 Jan 28, 2019
@nmarcetic nmarcetic assigned ghost Mar 25, 2019
@nmarcetic nmarcetic modified the milestones: 0.9.0, 0.9.5 Jul 10, 2019
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