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 support for Message Broker type messages #150

Closed
aachinfiev opened this issue Oct 6, 2017 · 3 comments
Closed

Add support for Message Broker type messages #150

aachinfiev opened this issue Oct 6, 2017 · 3 comments

Comments

@aachinfiev
Copy link

aachinfiev commented Oct 6, 2017

Open Zipkin documentation defines ms/mr type of messages for cases with a publisher and one or more consumers of a given event. Unfortunately zipkin4net currently does not support sending these types of spans to the server.

I have tested submitting a JSON request via v1/api/spans and Zipkin UI renders associated events.

[
    {
        "traceId": "f95ae2017821cb14",
        "id": "886a8994ecf8bf35",
        "name": "consumer1method",
        "timestamp": 1507247375925111,
        "annotations": [
            {
                "timestamp": 1507247375925111,
                "value": "mr",
                "endpoint": {
                    "serviceName": "consumer1"
                }
            }
        ],
        "binaryAnnotations": [
            {
                "key": "ID",
                "value": "76a5ef53-61c6-4043-8ee5-1f74fa2dd6b1",
                "endpoint": {
                    "serviceName": "consumer1"
                }
            }
        ]
    },
    {
        "traceId": "f95ae2017821cb14",
        "id": "87fd0e42c0cc0129",
        "name": "producerprocess",
        "parentId": "886a8994ecf8bf35",
        "timestamp": 1507247376027131,
        "annotations": [
            {
                "timestamp": 1507247376027131,
                "value": "ms",
                "endpoint": {
                    "serviceName": "producer"
                }
            }
        ]
    },
    {
        "traceId": "f95ae2017821cb14",
        "id": "8094558e4feeaf12",
        "name": "consumer2process",
        "parentId": "87fd0e42c0cc0129",
        "timestamp": 1507247376047135,
        "annotations": [
            {
                "timestamp": 1507247376047135,
                "value": "mr",
                "endpoint": {
                    "serviceName": "consumer2"
                }
            }
        ]
    }
]

It would be very helpful if this was added to the interface to support these types of events as there is a lot of distributed systems now that rely on pub/sub type of flows. Thank you.

@codefromthecrypt
Copy link
Member

codefromthecrypt commented Oct 7, 2017 via email

@fedj
Copy link
Collaborator

fedj commented Oct 9, 2017

Hi @aachinfiev,

Thank you for this issue, we'll definitely add this feature.
@adriancole From what I understand from openzipkin/zipkin#1243 (comment), MS and MR should share the same span id and should MR should not be a child of MS. But if I take a look at https://github.com/openzipkin/zipkin-api/pull/29/files#diff-f2ea8769bf9ee8697409ed187e0f843bR84, it says otherwise.

Should MR be the child of MS ?

@codefromthecrypt
Copy link
Member

codefromthecrypt commented Oct 9, 2017 via email

fedj pushed a commit that referenced this issue Oct 9, 2017
fedj pushed a commit that referenced this issue Oct 9, 2017
fedj pushed a commit that referenced this issue Oct 10, 2017
fedj pushed a commit that referenced this issue Oct 10, 2017
@fedj fedj closed this as completed in #151 Oct 12, 2017
fedj pushed a commit that referenced this issue Oct 12, 2017
fedj added a commit that referenced this issue Jan 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants