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

Make TraceOptions optional. #12

Merged
merged 2 commits into from
Oct 4, 2017
Merged

Conversation

bogdandrutu
Copy link
Contributor

Based on the comments from the PR #1 and the issue #4 seems that not everybody uses the trace-options.

When the trace-options are missing every bit has to have a default value that is used. In general this will not be missing but in cases where users are concerned about extra bytes on wire not sending the trace-options is acceptable.

@bogdandrutu
Copy link
Contributor Author

/cc @SergeyKanzhelev

2. Bug in caller
3. Different load between caller service and callee service might force callee
to down sample.
1. Trust and abuse.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was never clear to me what this means. Maybe a bit of an explanation?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this meant a bad actor can always say sampled for a ton of requests. If you don't trust the sampled bit, you can ignore it.

Copy link

@codefromthecrypt codefromthecrypt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good. this actually matches B3 better

The behavior of other bits is currently undefined.
##### Bits behavior definition (01234567):
* The least significant bit (the 7th bit) provides recommendation whether the request should be
traced or not (```1``` recommends the request should be traced, ```0``` means the caller does not

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: curious why triple quoting things that aren't broken by newlines?

@tylerbenson
Copy link

Why have trace options defined like this at all? I think the spec would be way better off by removing trace options from this header and pushing that functionality to a separate header that is more flexible.

@codefromthecrypt
Copy link

codefromthecrypt commented Sep 21, 2017 via email

@codefromthecrypt
Copy link

Fwiw I opened up #8 to track the discussion around sampling priority (which while sounding similar is different than trace option 1). I could open another issue to collect the historical discusson around the flag, if helpful.

There is a lot of context in 1 bit and this single bit makes a relatively straightforward port of exisiting B3 code to this format. Adoptability of something that exists in dozens if not a hundred projects is fair game to retain imho. In our last workshop we realized people do need some incentive to change off B3 and making it easy is at least a lack of disincentive.

@tylerbenson
Copy link

Ok, that's a fair argument. Sorry I am pretty late to the game here. Still trying to get my context fully spun up.

In that case, if the intent is for trace options to be extensible, we should clarify the process by which additional flags are proposed and ratified.

@mtwo
Copy link
Contributor

mtwo commented Sep 21, 2017

Still trying to get my context fully spun up

heh

@bogdandrutu
Copy link
Contributor Author

I will merge this initially because this moves us towards #15

@bogdandrutu bogdandrutu merged commit 9008276 into w3c:master Oct 4, 2017
@bogdandrutu bogdandrutu deleted the optional branch October 4, 2017 18:52
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

Successfully merging this pull request may close these issues.

5 participants