satellite/data/v1/SniffData.proto (117 lines of code) (raw):

/* * 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/Command.proto"; import "ebpf/profiling/Process.proto"; import "ebpf/profiling/Profile.proto"; import "ebpf/profiling/Continuous.proto"; import "envoy/service/metrics/v2/metrics_service.proto"; import "envoy/service/metrics/v3/metrics_service.proto"; import "opentelemetry/proto/collector/metrics/v1/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; OpenTelementryMetricsV1Type = 16; } // 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; ServiceMeshMetrics 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; opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest openTelementryMetricsV1Request = 30; bytes spanAttachedEvent = 31; ContinuousProfilingPolicyQuery continuousProfilingPolicyQuery = 32; ContinuousProfilingReport continuousProfilingReport = 33; } } 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; }