You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2020/01/02 13:03:53 UTC

[skywalking-data-collect-protocol] 01/01: Add browser perf service for client-js project

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch browser-proto
in repository https://gitbox.apache.org/repos/asf/skywalking-data-collect-protocol.git

commit 04318cb94aec4215ed3cc0408d117e84ac4f5951
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Thu Jan 2 21:03:39 2020 +0800

    Add browser perf service for client-js project
---
 browser/BrowserPerf.proto | 61 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/browser/BrowserPerf.proto b/browser/BrowserPerf.proto
new file mode 100644
index 0000000..ad37cff
--- /dev/null
+++ b/browser/BrowserPerf.proto
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "org.apache.skywalking.apm.network.language.agent";
+
+import "common/common.proto";
+
+// Collect performance raw data from browser.
+service BrowserPerfService {
+    rpc collect (stream BrowserPerfData) returns (Commands) {
+    }
+}
+
+message BrowserPerfData {
+    int32 serviceId = 1;
+    // Service version in browser is the Instance concept in the backend.
+    int32 serviceVersionId = 2;
+    // Page path in the browser, mostly it is URI, without parameter
+    string pagePath = 3;
+    repeated BrowserErrorLog logs = 4;
+
+}
+
+message BrowserErrorLog {
+    int64 time = 1;
+    string catalog = 2;
+    string grade = 3;
+    string message = 4;
+    int32 line = 5;
+    string stack = 6;
+}
+
+message PerfDetail {
+    // Unit of all time related field should be `ms`.
+    int32 redirectTime = 1;
+    int32 dnsTime = 2;
+    int32 reqTime = 3;
+    // analysis dom tree time
+    int32 domAnalysisTime = 4;
+    int32 domeReadyTime = 5;
+    // page blank time
+    int32 blankTime = 6;
+}
\ No newline at end of file