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 2019/04/16 13:18:29 UTC
[incubator-skywalking-data-collect-protocol] 01/01: Create
metric.proto
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch metric-proto
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking-data-collect-protocol.git
commit 88286b2d54b5b279f65ddb014fafa9dfa5976dcb
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Apr 16 21:18:24 2019 +0800
Create metric.proto
---
metric/metric.proto | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 87 insertions(+)
diff --git a/metric/metric.proto b/metric/metric.proto
new file mode 100644
index 0000000..defe8c4
--- /dev/null
+++ b/metric/metric.proto
@@ -0,0 +1,87 @@
+/*
+ * 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.metric";
+option csharp_namespace = "SkyWalking.NetworkProtocol";
+
+import "register/Register.proto";
+import "common/common.proto";
+
+
+service MetricService {
+ rpc reportEntityMetric (stream EntityMetric) returns (MetricResponse) {
+ }
+
+ rpc reportRelationMetric (stream RelationMetric) returns (MetricResponse) {
+ }
+}
+
+message EntityMetric {
+ oneof metric_entity {
+ Service service = 1;
+ ServiceInstance service_instance = 2;
+ Endpoint endpoint = 3;
+ }
+
+ repeated Metric metrics = 4;
+}
+
+message RelationMetric {
+ oneof source_entity {
+ Service source_service = 1;
+ ServiceInstance source_service_instance = 2;
+ Endpoint source_endpoint = 3;
+ }
+
+ oneof dest_entity {
+ Service dest_service = 4;
+ ServiceInstance dest_service_instance = 5;
+ Endpoint dest_endpoint = 6;
+ }
+
+ repeated Metric metrics = 7;
+}
+
+message Metric {
+ Type type = 4;
+
+ Gauge gaugeValues = 5;
+ Histogram histogramValues = 6;
+
+ enum Type {
+ GAUGE = 0;
+ HISTOGRAM = 1;
+ }
+
+ message Gauge {
+ string name = 1;
+ int64 value = 2;
+ }
+
+ message Histogram {
+ string name = 1;
+ repeated IntKeyIntValuePair values = 2;
+ }
+}
+
+message MetricResponse {
+
+}