| /* |
| * 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"; |
| |
| package skywalking.v3; |
| |
| option go_package = "skywalking.apache.org/repo/goapi/satellite/data/v1"; |
| |
| import "language-agent/CLRMetric.proto"; |
| import "language-agent/JVMMetric.proto"; |
| import "language-agent/Meter.proto"; |
| import "language-agent/ConfigurationDiscoveryService.proto"; |
| import "management/Management.proto"; |
| import "profile/Profile.proto"; |
| import "service-mesh-probe/service-mesh.proto"; |
| import "event/Event.proto"; |
| import "common/Common.proto"; |
| import "ebpf/profiling/Process.proto"; |
| import "ebpf/profiling/Profile.proto"; |
| |
| import "envoy/service/metrics/v2/metrics_service.proto"; |
| import "envoy/service/metrics/v3/metrics_service.proto"; |
| |
| // SniffType declares the supported transfer data type. |
| enum SniffType { |
| CLRMetricType = 0; |
| JVMMetricType = 1; |
| MeterType = 2; |
| TracingType = 3; |
| Logging = 4; |
| ManagementType = 5; |
| ProfileType = 6; |
| ServiceMeshType = 7; |
| EventType = 8; |
| ConfigurationDiscoveryServiceType = 9; |
| EnvoyALSV2Type = 10; |
| EnvoyALSV3Type = 11; |
| EnvoyMetricsV2Type = 12; |
| EnvoyMetricsV3Type = 13; |
| EBPFProcessType = 14; |
| EBPFProfilingType = 15; |
| } |
| |
| // SniffData is the transfer unit in Satellite. |
| message SniffData { |
| |
| // The occur time. |
| int64 timestamp = 1; |
| // unique event name. |
| string name = 2; |
| // The data type. |
| SniffType type = 3; |
| // Whether to send to remote. It is used in sampling. |
| bool remote = 4; |
| // Additional meta-information. |
| map<string, string> meta = 5; |
| |
| // Transfer data. |
| oneof data{ |
| CLRMetricCollection clr = 6; |
| JVMMetricCollection jvm = 7; |
| MeterData meter = 8; |
| bytes segment = 9; |
| BatchLogList logList = 10; |
| InstanceProperties instance = 11; |
| ThreadSnapshot profile = 12; |
| ServiceMeshMetric serviceMesh = 13; |
| Event event = 14; |
| InstancePingPkg instancePing = 15; |
| ProfileTaskCommandQuery profileTaskQuery = 16; |
| ProfileTaskFinishReport profileTaskFinish = 17; |
| Commands commands = 18; |
| ConfigurationSyncRequest configurationSyncRequest = 19; |
| EnvoyALSV2List envoyALSV2List = 20; |
| EnvoyALSV3List envoyALSV3List = 21; |
| EnvoyMetricsV2List envoyMetricsV2List = 22; |
| EnvoyMetricsV3List envoyMetricsV3List = 23; |
| MeterDataCollection meterCollection = 24; |
| EBPFProcessReportList eBPFProcessReportList = 25; |
| EBPFReportProcessDownstream eBPFReportProcessDownstream = 26; |
| EBPFProcessPingPkgList eBPFProcessPingPkgList = 27; |
| EBPFProfilingTaskQuery eBPFProfilingTaskQuery = 28; |
| EBPFProfilingDataList eBPFProfilingDataList = 29; |
| } |
| } |
| |
| message BatchLogList { |
| repeated bytes logs = 1; |
| } |
| |
| message EnvoyALSV2List { |
| repeated bytes messages = 1; |
| } |
| |
| message EnvoyALSV3List { |
| repeated bytes messages = 1; |
| } |
| |
| message EnvoyMetricsV2List { |
| repeated envoy.service.metrics.v2.StreamMetricsMessage messages = 1; |
| } |
| |
| message EnvoyMetricsV3List { |
| repeated envoy.service.metrics.v3.StreamMetricsMessage messages = 1; |
| } |
| |
| message EBPFProfilingDataList { |
| repeated EBPFProfilingData dataList = 1; |
| } |