docs/en/api/browser-protocol.md
Browser protocol describes the data format between skywalking-client-js and the backend.
Browser protocol is defined in gRPC format and exposed in HTTP 1.1 for the browser.
Detailed information about data format can be found in BrowserPerf.proto.
Send a performance data object in JSON format.
Input:
{
"service": "web",
"serviceVersion": "v0.0.1",
"pagePath": "/index.html",
"redirectTime": 10,
"dnsTime": 10,
"ttfbTime": 10,
"tcpTime": 10,
"transTime": 10,
"domAnalysisTime": 10,
"fptTime": 10,
"domReadyTime": 10,
"loadPageTime": 10,
"resTime": 10,
"sslTime": 10,
"ttlTime": 10,
"firstPackTime": 10,
}
OutPut:
HTTP Status: 204
Send a performance data object in JSON format. Since client-js 1.0.0, the following attached metrics are reported.
Input:
{
"service": "web",
"serviceVersion": "v0.0.1",
"pagePath": "/index.html",
"fmpTime": 10, // Deprecated since skywalking-client-js 1.0. This is no longer recommended. Please use the `useWebVitals` instead.
/* NOTE, Safari does not support all core web vitals, and Firefox does not support `CLS`. */
"cls": 0.1,
"lcpTime": 10,
}
OutPut:
HTTP Status: 204
Send a performance data object in JSON format. Since client-js 1.0.0, the following attached metrics are reported.
Input:
[
{
"service": "web",
"serviceVersion": "v0.0.1",
"pagePath": "/index.html",
"inpTime": 10,
}
]
OutPut:
HTTP Status: 204
Send a static resources data object in JSON format. Since client-js 1.0.0, the following attached metrics are reported.
Input:
[
{
"service": "web",
"serviceVersion": "v0.0.1",
"pagePath": "/index.html",
"name": "vue.js",
"duration": 600,
"size": 100000,
"protocol": "h2",
"type": "script",
}
]
OutPut:
HTTP Status: 204
Send an error log object list in JSON format.
Input:
[
{
"uniqueId": "55ec6178-3fb7-43ef-899c-a26944407b01",
"service": "web",
"serviceVersion": "v0.0.1",
"pagePath": "/index.html",
"category": "ajax",
"message": "error",
"line": 1,
"col": 1,
"stack": "error",
"errorUrl": "/index.html"
},
{
"uniqueId": "55ec6178-3fb7-43ef-899c-a26944407b02",
"service": "web",
"serviceVersion": "v0.0.1",
"pagePath": "/index.html",
"category": "ajax",
"message": "error",
"line": 1,
"col": 1,
"stack": "error",
"errorUrl": "/index.html"
}
]
OutPut:
HTTP Status: 204
Send a single error log object in JSON format.
Input:
{
"uniqueId": "55ec6178-3fb7-43ef-899c-a26944407b01",
"service": "web",
"serviceVersion": "v0.0.1",
"pagePath": "/index.html",
"category": "ajax",
"message": "error",
"line": 1,
"col": 1,
"stack": "error",
"errorUrl": "/index.html"
}
OutPut:
HTTP Status: 204
Note, BrowserErrorLog#uniqueId should be unique in the whole distributed environments.