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

Investigate Server-Timing for passing back response headers #69

Closed
AloisReitbauer opened this issue Feb 24, 2018 · 13 comments
Closed

Investigate Server-Timing for passing back response headers #69

AloisReitbauer opened this issue Feb 24, 2018 · 13 comments

Comments

@AloisReitbauer
Copy link
Contributor

Started a thread with the web performance working group [1]. It would be great if we can start a trace context already in the browser. This would massively reduce the effort for implementing real user monitoring in browsers.

[1] w3c/web-performance#22

@jorgheymans
Copy link

jorgheymans commented Feb 24, 2018 via email

@wu-sheng
Copy link
Contributor

+1 This will be helpful for the monitoring system knowing the request from browser.

@jkowall
Copy link

jkowall commented Feb 24, 2018 via email

@SergeyKanzhelev SergeyKanzhelev added the w3c This is used to track non-technical W3C Process related issues, such as transitions. label Apr 13, 2018
@AloisReitbauer AloisReitbauer changed the title Investigate liason with web performance WG Investigate Server-Timing for passing back response headers May 2, 2018
@SergeyKanzhelev SergeyKanzhelev added this to the 5. PR milestone Aug 6, 2018
@yoavweiss
Copy link

Hey tracing folks!

I'm interested to hear your thoughts about how Server Timing can be used to help with your efforts.

The main thing that comes to mind is that Server timing can be used to share a "transaction ID" that will be collected and traced along the different components of the application delivery as well as the browser and can enable keeping track of a request's lifecycle through the different components all the way to the browser.

The main advantage of ST in that context is the "all the way to the browser" part. I guess that any other header could be used to communicate an ID between the different components, but ST is required if you want to correlate those measurements with ResourceTiming data.

Do you agree with the above? Are there other use-cases that you folks had in mind?

We're starting to plan the WebPerfWG meeting sessions at TPAC and would be happy to reserve some time to discuss collaboration. Let me know if you're interested.

/cc @cvazac @igrigorik

@AloisReitbauer
Copy link
Contributor Author

Passing a TraceParent header from the browser all the way down to backend systems would add massive value for end-to-end tracing. The team will be at TPAC and what I have heard we are meeting the same days as you guys. We should set aside an hour or two to discuss how to work together.

As we also have working implementations we can also show you a real-world use case.

@yoavweiss
Copy link

Sounds good. Let's coordinate meeting times.

@dcreager
Copy link
Member

dcreager commented Sep 7, 2018

This would be great for Network Error Logging, too! NEL reports would provide information about the end-to-end reliability of the original request; if we could add a browser-assigned trace ID to those reports, then you could easily join those reports with all of the detailed information coming out of your tracing system.

@plehegar plehegar removed their assignment Sep 13, 2018
@plehegar
Copy link
Member

(unassigned myself on this one since it seems to be moving along without my help so far)

@cvazac
Copy link

cvazac commented Oct 16, 2018

Should we schedule a F2F at TPAC?
cc @AloisReitbauer @yoavweiss

@yoavweiss
Copy link

@yoavweiss
Copy link

Discussed during TPAC. Minutes

@AloisReitbauer AloisReitbauer modified the milestones: 5. PR, 8. future-work Apr 23, 2019
@AloisReitbauer AloisReitbauer removed the w3c This is used to track non-technical W3C Process related issues, such as transitions. label Apr 23, 2019
@danielkhan danielkhan modified the milestones: 8. future-work, 7. level-2 Mar 25, 2020
@danielkhan
Copy link
Contributor

Decided that we want to use our own header

@jpkrohling
Copy link

I realize this is almost four years old, but what was the reason for using a different header? I understand that Server-Timing is the perfect header for traceresponse, given that traceresponse is indeed related to the timings spent on the server and is already part of safe-lists everywhere. Looking at the minutes, I could guess that the reason is related to this comment:

Yoav: This should be opt in, with the bare minimum number of resources that you need.

If that's the concern, isn't the server side already opting in by adding the response metric to this header? Like:

Server-Timing: traceresponse;desc=00-{trace-id}-{child-id}-01

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