@volter/supercode-teams 0.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +119 -0
  2. package/attention.mjs +191 -0
  3. package/bin/fleet.mjs +151 -0
  4. package/bin/teams.mjs +291 -0
  5. package/bin/workspace/args.mjs +66 -0
  6. package/bin/workspace/files.mjs +110 -0
  7. package/bin/workspace/lifecycle.mjs +113 -0
  8. package/bin/workspace/volter-device.mjs +42 -0
  9. package/bin/workspace/volter-login.mjs +185 -0
  10. package/bin/workspace.mjs +726 -0
  11. package/browser-attach.mjs +90 -0
  12. package/client.mjs +212 -0
  13. package/connector/effects.mjs +95 -0
  14. package/connector/index.d.ts +69 -0
  15. package/connector/index.mjs +174 -0
  16. package/connector/native-continuation.d.ts +8 -0
  17. package/connector/native-continuation.mjs +50 -0
  18. package/connector/native-effects.mjs +164 -0
  19. package/context.mjs +34 -0
  20. package/contracts/adapter-map.json +16 -0
  21. package/contracts/index.d.ts +299 -0
  22. package/contracts/index.mjs +37 -0
  23. package/execution.mjs +206 -0
  24. package/fleet.mjs +78 -0
  25. package/index.mjs +12 -0
  26. package/machine-door.mjs +36 -0
  27. package/machine.mjs +1398 -0
  28. package/package.json +80 -0
  29. package/porthole-hook.cjs +137 -0
  30. package/remote/job-exec.py +146 -0
  31. package/remote/wire.py +23 -0
  32. package/server/arc2-transactions.mjs +125 -0
  33. package/server/attachment-relay.mjs +149 -0
  34. package/server/catalog.mjs +7 -0
  35. package/server/continuations.mjs +56 -0
  36. package/server/correlation.d.ts +4 -0
  37. package/server/correlation.mjs +17 -0
  38. package/server/effects-transactions.mjs +119 -0
  39. package/server/effects.mjs +97 -0
  40. package/server/event-routes.mjs +208 -0
  41. package/server/exports.mjs +46 -0
  42. package/server/harness-routes.mjs +248 -0
  43. package/server/index.d.ts +31 -0
  44. package/server/index.mjs +52 -0
  45. package/server/ingest.mjs +24 -0
  46. package/server/node-upgrade.mjs +39 -0
  47. package/server/otlp/collector-config.d.ts +2 -0
  48. package/server/otlp/collector-config.mjs +26 -0
  49. package/server/otlp/decoders/index.d.ts +63 -0
  50. package/server/otlp/decoders/index.mjs +311 -0
  51. package/server/otlp/index.d.ts +4 -0
  52. package/server/otlp/index.mjs +4 -0
  53. package/server/otlp/projection.d.ts +5 -0
  54. package/server/otlp/projection.mjs +17 -0
  55. package/server/otlp/receiver.d.ts +3 -0
  56. package/server/otlp/receiver.mjs +36 -0
  57. package/server/otlp/schema/google/protobuf/any.proto +162 -0
  58. package/server/otlp/schema/google/rpc/status.proto +48 -0
  59. package/server/otlp/schema/manifest.json +22 -0
  60. package/server/otlp/schema/opentelemetry/proto/collector/logs/v1/logs_service.proto +77 -0
  61. package/server/otlp/schema/opentelemetry/proto/collector/metrics/v1/metrics_service.proto +77 -0
  62. package/server/otlp/schema/opentelemetry/proto/collector/trace/v1/trace_service.proto +77 -0
  63. package/server/otlp/schema/opentelemetry/proto/common/v1/common.proto +154 -0
  64. package/server/otlp/schema/opentelemetry/proto/logs/v1/logs.proto +226 -0
  65. package/server/otlp/schema/opentelemetry/proto/metrics/v1/metrics.proto +735 -0
  66. package/server/otlp/schema/opentelemetry/proto/resource/v1/resource.proto +45 -0
  67. package/server/otlp/schema/opentelemetry/proto/trace/v1/trace.proto +359 -0
  68. package/server/otlp/transport.d.ts +10 -0
  69. package/server/otlp/transport.mjs +424 -0
  70. package/server/otlp/wire-codec.mjs +153 -0
  71. package/server/store-core.mjs +139 -0
  72. package/server/store-worker.mjs +23 -0
  73. package/worker/fetch-adapter.mjs +49 -0
  74. package/worker/index.mjs +127 -0
  75. package/worker/websocket-duplex.mjs +29 -0
  76. package/worker/wrangler.toml +38 -0
  77. package/workspace-client.d.ts +75 -0
  78. package/workspace-client.mjs +171 -0
  79. package/workspace-move.mjs +38 -0
@@ -0,0 +1,162 @@
1
+ // Protocol Buffers - Google's data interchange format
2
+ // Copyright 2008 Google Inc. All rights reserved.
3
+ // https://developers.google.com/protocol-buffers/
4
+ //
5
+ // Redistribution and use in source and binary forms, with or without
6
+ // modification, are permitted provided that the following conditions are
7
+ // met:
8
+ //
9
+ // * Redistributions of source code must retain the above copyright
10
+ // notice, this list of conditions and the following disclaimer.
11
+ // * Redistributions in binary form must reproduce the above
12
+ // copyright notice, this list of conditions and the following disclaimer
13
+ // in the documentation and/or other materials provided with the
14
+ // distribution.
15
+ // * Neither the name of Google Inc. nor the names of its
16
+ // contributors may be used to endorse or promote products derived from
17
+ // this software without specific prior written permission.
18
+ //
19
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+
31
+ syntax = "proto3";
32
+
33
+ package google.protobuf;
34
+
35
+ option go_package = "google.golang.org/protobuf/types/known/anypb";
36
+ option java_package = "com.google.protobuf";
37
+ option java_outer_classname = "AnyProto";
38
+ option java_multiple_files = true;
39
+ option objc_class_prefix = "GPB";
40
+ option csharp_namespace = "Google.Protobuf.WellKnownTypes";
41
+
42
+ // `Any` contains an arbitrary serialized protocol buffer message along with a
43
+ // URL that describes the type of the serialized message.
44
+ //
45
+ // Protobuf library provides support to pack/unpack Any values in the form
46
+ // of utility functions or additional generated methods of the Any type.
47
+ //
48
+ // Example 1: Pack and unpack a message in C++.
49
+ //
50
+ // Foo foo = ...;
51
+ // Any any;
52
+ // any.PackFrom(foo);
53
+ // ...
54
+ // if (any.UnpackTo(&foo)) {
55
+ // ...
56
+ // }
57
+ //
58
+ // Example 2: Pack and unpack a message in Java.
59
+ //
60
+ // Foo foo = ...;
61
+ // Any any = Any.pack(foo);
62
+ // ...
63
+ // if (any.is(Foo.class)) {
64
+ // foo = any.unpack(Foo.class);
65
+ // }
66
+ // // or ...
67
+ // if (any.isSameTypeAs(Foo.getDefaultInstance())) {
68
+ // foo = any.unpack(Foo.getDefaultInstance());
69
+ // }
70
+ //
71
+ // Example 3: Pack and unpack a message in Python.
72
+ //
73
+ // foo = Foo(...)
74
+ // any = Any()
75
+ // any.Pack(foo)
76
+ // ...
77
+ // if any.Is(Foo.DESCRIPTOR):
78
+ // any.Unpack(foo)
79
+ // ...
80
+ //
81
+ // Example 4: Pack and unpack a message in Go
82
+ //
83
+ // foo := &pb.Foo{...}
84
+ // any, err := anypb.New(foo)
85
+ // if err != nil {
86
+ // ...
87
+ // }
88
+ // ...
89
+ // foo := &pb.Foo{}
90
+ // if err := any.UnmarshalTo(foo); err != nil {
91
+ // ...
92
+ // }
93
+ //
94
+ // The pack methods provided by protobuf library will by default use
95
+ // 'type.googleapis.com/full.type.name' as the type URL and the unpack
96
+ // methods only use the fully qualified type name after the last '/'
97
+ // in the type URL, for example "foo.bar.com/x/y.z" will yield type
98
+ // name "y.z".
99
+ //
100
+ // JSON
101
+ // ====
102
+ // The JSON representation of an `Any` value uses the regular
103
+ // representation of the deserialized, embedded message, with an
104
+ // additional field `@type` which contains the type URL. Example:
105
+ //
106
+ // package google.profile;
107
+ // message Person {
108
+ // string first_name = 1;
109
+ // string last_name = 2;
110
+ // }
111
+ //
112
+ // {
113
+ // "@type": "type.googleapis.com/google.profile.Person",
114
+ // "firstName": <string>,
115
+ // "lastName": <string>
116
+ // }
117
+ //
118
+ // If the embedded message type is well-known and has a custom JSON
119
+ // representation, that representation will be embedded adding a field
120
+ // `value` which holds the custom JSON in addition to the `@type`
121
+ // field. Example (for message [google.protobuf.Duration][]):
122
+ //
123
+ // {
124
+ // "@type": "type.googleapis.com/google.protobuf.Duration",
125
+ // "value": "1.212s"
126
+ // }
127
+ //
128
+ message Any {
129
+ // A URL/resource name that uniquely identifies the type of the serialized
130
+ // protocol buffer message. This string must contain at least
131
+ // one "/" character. The last segment of the URL's path must represent
132
+ // the fully qualified name of the type (as in
133
+ // `path/google.protobuf.Duration`). The name should be in a canonical form
134
+ // (e.g., leading "." is not accepted).
135
+ //
136
+ // In practice, teams usually precompile into the binary all types that they
137
+ // expect it to use in the context of Any. However, for URLs which use the
138
+ // scheme `http`, `https`, or no scheme, one can optionally set up a type
139
+ // server that maps type URLs to message definitions as follows:
140
+ //
141
+ // * If no scheme is provided, `https` is assumed.
142
+ // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
143
+ // value in binary format, or produce an error.
144
+ // * Applications are allowed to cache lookup results based on the
145
+ // URL, or have them precompiled into a binary to avoid any
146
+ // lookup. Therefore, binary compatibility needs to be preserved
147
+ // on changes to types. (Use versioned type names to manage
148
+ // breaking changes.)
149
+ //
150
+ // Note: this functionality is not currently available in the official
151
+ // protobuf release, and it is not used for type URLs beginning with
152
+ // type.googleapis.com. As of May 2023, there are no widely used type server
153
+ // implementations and no plans to implement one.
154
+ //
155
+ // Schemes other than `http`, `https` (or the empty scheme) might be
156
+ // used with implementation specific semantics.
157
+ //
158
+ string type_url = 1;
159
+
160
+ // Must be a valid serialized protocol buffer of the above specified type.
161
+ bytes value = 2;
162
+ }
@@ -0,0 +1,48 @@
1
+ // Copyright 2026 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.rpc;
18
+
19
+ import "google/protobuf/any.proto";
20
+
21
+ option go_package = "google.golang.org/genproto/googleapis/rpc/status;status";
22
+ option java_multiple_files = true;
23
+ option java_outer_classname = "StatusProto";
24
+ option java_package = "com.google.rpc";
25
+ option objc_class_prefix = "RPC";
26
+
27
+ // The `Status` type defines a logical error model that is suitable for
28
+ // different programming environments, including REST APIs and RPC APIs. It is
29
+ // used by [gRPC](https://github.com/grpc). Each `Status` message contains
30
+ // three pieces of data: error code, error message, and error details.
31
+ //
32
+ // You can find out more about this error model and how to work with it in the
33
+ // [API Design Guide](https://cloud.google.com/apis/design/errors).
34
+ message Status {
35
+ // The status code, which should be an enum value of
36
+ // [google.rpc.Code][google.rpc.Code].
37
+ int32 code = 1;
38
+
39
+ // A developer-facing error message, which should be in English. Any
40
+ // user-facing error message should be localized and sent in the
41
+ // [google.rpc.Status.details][google.rpc.Status.details] field, or localized
42
+ // by the client.
43
+ string message = 2;
44
+
45
+ // A list of messages that carry the error details. There is a common set of
46
+ // message types for APIs to use.
47
+ repeated google.protobuf.Any details = 3;
48
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "schema": "opentelemetry-proto",
3
+ "version": "v1.11.0",
4
+ "commit": "790608c4d51e6ffc12210b541e8514cbed9e91a4",
5
+ "source": "https://github.com/open-telemetry/opentelemetry-proto/tree/v1.11.0/opentelemetry/proto",
6
+ "files": {
7
+ "common/v1/common.proto": "620560f3ad4c45d606f8a9c455f2b98089f0d511c5859c3eadd3ee630ae0d4d8",
8
+ "resource/v1/resource.proto": "e0a7cdc0ffcfeffaa2606e8611839735ebffaa2d6acdf33e9356f2c48ae692d3",
9
+ "logs/v1/logs.proto": "6b2e1eba0c01ae2da47927c63eabfaf3f151ee7ad846f2cdf3b2b71fb61004fe",
10
+ "trace/v1/trace.proto": "c3fb1385c90b8bc08a2a462e28b5d0c422c7b524a839f75f75e3cd9f64f36956",
11
+ "metrics/v1/metrics.proto": "68cf07fe34bc5111d7873b5547ca41f0312dc8976d2635d81fac553d5ba98757",
12
+ "collector/logs/v1/logs_service.proto": "0252687fc8f59d139ced709d383e83678e9bd4957bdbe76077242f1c32363fa5",
13
+ "collector/trace/v1/trace_service.proto": "03c8cc4e3e101087d884392d6eda32152ad5cd696e6344f50deaa59804a75c7a",
14
+ "collector/metrics/v1/metrics_service.proto": "2bb3c6adee5f7609c8a32c5e4b1ec57057320015e298e9cf136699a42abc24d7",
15
+ "google/rpc/status.proto": "f5bfd262e6705c7ae73f32e0ad8ee20ce8c0a2578df8c4f76ebf76b572f295ed",
16
+ "google/protobuf/any.proto": "bcf5de6ce463b1a38ff76b77955aa7e580b4ec12af34a927b1d45c9efb0faf66"
17
+ },
18
+ "additional_schema_sources": {
19
+ "google/rpc/status.proto": "https://github.com/googleapis/googleapis/blob/b102e68deb9df1efec8d6d796b6227ffbfc68728/google/rpc/status.proto",
20
+ "google/protobuf/any.proto": "https://github.com/protocolbuffers/protobuf/blob/v34.0/src/google/protobuf/any.proto"
21
+ }
22
+ }
@@ -0,0 +1,77 @@
1
+ // Copyright 2020, OpenTelemetry Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package opentelemetry.proto.collector.logs.v1;
18
+
19
+ import "opentelemetry/proto/logs/v1/logs.proto";
20
+
21
+ option csharp_namespace = "OpenTelemetry.Proto.Collector.Logs.V1";
22
+ option java_multiple_files = true;
23
+ option java_package = "io.opentelemetry.proto.collector.logs.v1";
24
+ option java_outer_classname = "LogsServiceProto";
25
+ option go_package = "go.opentelemetry.io/proto/otlp/collector/logs/v1";
26
+
27
+ // Service that can be used to push logs between one Application instrumented with
28
+ // OpenTelemetry and an collector, or between an collector and a central collector (in this
29
+ // case logs are sent/received to/from multiple Applications).
30
+ service LogsService {
31
+ rpc Export(ExportLogsServiceRequest) returns (ExportLogsServiceResponse) {}
32
+ }
33
+
34
+ message ExportLogsServiceRequest {
35
+ // An array of ResourceLogs.
36
+ // For data coming from a single resource this array will typically contain one
37
+ // element. Intermediary nodes (such as OpenTelemetry Collector) that receive
38
+ // data from multiple origins typically batch the data before forwarding further and
39
+ // in that case this array will contain multiple elements.
40
+ repeated opentelemetry.proto.logs.v1.ResourceLogs resource_logs = 1;
41
+ }
42
+
43
+ message ExportLogsServiceResponse {
44
+ // The details of a partially successful export request.
45
+ //
46
+ // If the request is only partially accepted
47
+ // (i.e. when the server accepts only parts of the data and rejects the rest)
48
+ // the server MUST initialize the `partial_success` field and MUST
49
+ // set the `rejected_<signal>` with the number of items it rejected.
50
+ //
51
+ // Servers MAY also make use of the `partial_success` field to convey
52
+ // warnings/suggestions to senders even when the request was fully accepted.
53
+ // In such cases, the `rejected_<signal>` MUST have a value of `0` and
54
+ // the `error_message` MUST be non-empty.
55
+ //
56
+ // A `partial_success` message with an empty value (rejected_<signal> = 0 and
57
+ // `error_message` = "") is equivalent to it not being set/present. Senders
58
+ // SHOULD interpret it the same way as in the full success case.
59
+ ExportLogsPartialSuccess partial_success = 1;
60
+ }
61
+
62
+ message ExportLogsPartialSuccess {
63
+ // The number of rejected log records.
64
+ //
65
+ // A `rejected_<signal>` field holding a `0` value indicates that the
66
+ // request was fully accepted.
67
+ int64 rejected_log_records = 1;
68
+
69
+ // A developer-facing human-readable message in English. It should be used
70
+ // either to explain why the server rejected parts of the data during a partial
71
+ // success or to convey warnings/suggestions during a full success. The message
72
+ // should offer guidance on how users can address such issues.
73
+ //
74
+ // error_message is an optional field. An error_message with an empty value
75
+ // is equivalent to it not being set.
76
+ string error_message = 2;
77
+ }
@@ -0,0 +1,77 @@
1
+ // Copyright 2019, OpenTelemetry Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package opentelemetry.proto.collector.metrics.v1;
18
+
19
+ import "opentelemetry/proto/metrics/v1/metrics.proto";
20
+
21
+ option csharp_namespace = "OpenTelemetry.Proto.Collector.Metrics.V1";
22
+ option java_multiple_files = true;
23
+ option java_package = "io.opentelemetry.proto.collector.metrics.v1";
24
+ option java_outer_classname = "MetricsServiceProto";
25
+ option go_package = "go.opentelemetry.io/proto/otlp/collector/metrics/v1";
26
+
27
+ // Service that can be used to push metrics between one Application
28
+ // instrumented with OpenTelemetry and a collector, or between a collector and a
29
+ // central collector.
30
+ service MetricsService {
31
+ rpc Export(ExportMetricsServiceRequest) returns (ExportMetricsServiceResponse) {}
32
+ }
33
+
34
+ message ExportMetricsServiceRequest {
35
+ // An array of ResourceMetrics.
36
+ // For data coming from a single resource this array will typically contain one
37
+ // element. Intermediary nodes (such as OpenTelemetry Collector) that receive
38
+ // data from multiple origins typically batch the data before forwarding further and
39
+ // in that case this array will contain multiple elements.
40
+ repeated opentelemetry.proto.metrics.v1.ResourceMetrics resource_metrics = 1;
41
+ }
42
+
43
+ message ExportMetricsServiceResponse {
44
+ // The details of a partially successful export request.
45
+ //
46
+ // If the request is only partially accepted
47
+ // (i.e. when the server accepts only parts of the data and rejects the rest)
48
+ // the server MUST initialize the `partial_success` field and MUST
49
+ // set the `rejected_<signal>` with the number of items it rejected.
50
+ //
51
+ // Servers MAY also make use of the `partial_success` field to convey
52
+ // warnings/suggestions to senders even when the request was fully accepted.
53
+ // In such cases, the `rejected_<signal>` MUST have a value of `0` and
54
+ // the `error_message` MUST be non-empty.
55
+ //
56
+ // A `partial_success` message with an empty value (rejected_<signal> = 0 and
57
+ // `error_message` = "") is equivalent to it not being set/present. Senders
58
+ // SHOULD interpret it the same way as in the full success case.
59
+ ExportMetricsPartialSuccess partial_success = 1;
60
+ }
61
+
62
+ message ExportMetricsPartialSuccess {
63
+ // The number of rejected data points.
64
+ //
65
+ // A `rejected_<signal>` field holding a `0` value indicates that the
66
+ // request was fully accepted.
67
+ int64 rejected_data_points = 1;
68
+
69
+ // A developer-facing human-readable message in English. It should be used
70
+ // either to explain why the server rejected parts of the data during a partial
71
+ // success or to convey warnings/suggestions during a full success. The message
72
+ // should offer guidance on how users can address such issues.
73
+ //
74
+ // error_message is an optional field. An error_message with an empty value
75
+ // is equivalent to it not being set.
76
+ string error_message = 2;
77
+ }
@@ -0,0 +1,77 @@
1
+ // Copyright 2019, OpenTelemetry Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package opentelemetry.proto.collector.trace.v1;
18
+
19
+ import "opentelemetry/proto/trace/v1/trace.proto";
20
+
21
+ option csharp_namespace = "OpenTelemetry.Proto.Collector.Trace.V1";
22
+ option java_multiple_files = true;
23
+ option java_package = "io.opentelemetry.proto.collector.trace.v1";
24
+ option java_outer_classname = "TraceServiceProto";
25
+ option go_package = "go.opentelemetry.io/proto/otlp/collector/trace/v1";
26
+
27
+ // Service that can be used to push spans between one Application instrumented with
28
+ // OpenTelemetry and a collector, or between a collector and a central collector (in this
29
+ // case spans are sent/received to/from multiple Applications).
30
+ service TraceService {
31
+ rpc Export(ExportTraceServiceRequest) returns (ExportTraceServiceResponse) {}
32
+ }
33
+
34
+ message ExportTraceServiceRequest {
35
+ // An array of ResourceSpans.
36
+ // For data coming from a single resource this array will typically contain one
37
+ // element. Intermediary nodes (such as OpenTelemetry Collector) that receive
38
+ // data from multiple origins typically batch the data before forwarding further and
39
+ // in that case this array will contain multiple elements.
40
+ repeated opentelemetry.proto.trace.v1.ResourceSpans resource_spans = 1;
41
+ }
42
+
43
+ message ExportTraceServiceResponse {
44
+ // The details of a partially successful export request.
45
+ //
46
+ // If the request is only partially accepted
47
+ // (i.e. when the server accepts only parts of the data and rejects the rest)
48
+ // the server MUST initialize the `partial_success` field and MUST
49
+ // set the `rejected_<signal>` with the number of items it rejected.
50
+ //
51
+ // Servers MAY also make use of the `partial_success` field to convey
52
+ // warnings/suggestions to senders even when the request was fully accepted.
53
+ // In such cases, the `rejected_<signal>` MUST have a value of `0` and
54
+ // the `error_message` MUST be non-empty.
55
+ //
56
+ // A `partial_success` message with an empty value (rejected_<signal> = 0 and
57
+ // `error_message` = "") is equivalent to it not being set/present. Senders
58
+ // SHOULD interpret it the same way as in the full success case.
59
+ ExportTracePartialSuccess partial_success = 1;
60
+ }
61
+
62
+ message ExportTracePartialSuccess {
63
+ // The number of rejected spans.
64
+ //
65
+ // A `rejected_<signal>` field holding a `0` value indicates that the
66
+ // request was fully accepted.
67
+ int64 rejected_spans = 1;
68
+
69
+ // A developer-facing human-readable message in English. It should be used
70
+ // either to explain why the server rejected parts of the data during a partial
71
+ // success or to convey warnings/suggestions during a full success. The message
72
+ // should offer guidance on how users can address such issues.
73
+ //
74
+ // error_message is an optional field. An error_message with an empty value
75
+ // is equivalent to it not being set.
76
+ string error_message = 2;
77
+ }
@@ -0,0 +1,154 @@
1
+ // Copyright 2019, OpenTelemetry Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package opentelemetry.proto.common.v1;
18
+
19
+ option csharp_namespace = "OpenTelemetry.Proto.Common.V1";
20
+ option java_multiple_files = true;
21
+ option java_package = "io.opentelemetry.proto.common.v1";
22
+ option java_outer_classname = "CommonProto";
23
+ option go_package = "go.opentelemetry.io/proto/otlp/common/v1";
24
+
25
+ // Represents any type of attribute value. AnyValue may contain a
26
+ // primitive value such as a string or integer or it may contain an arbitrary nested
27
+ // object containing arrays, key-value lists and primitives.
28
+ message AnyValue {
29
+ // The value is one of the listed fields. It is valid for all values to be unspecified
30
+ // in which case this AnyValue is considered to be "empty".
31
+ oneof value {
32
+ string string_value = 1;
33
+ bool bool_value = 2;
34
+ int64 int_value = 3;
35
+ double double_value = 4;
36
+ ArrayValue array_value = 5;
37
+ KeyValueList kvlist_value = 6;
38
+ bytes bytes_value = 7;
39
+ // Reference to the string value in ProfilesDictionary.string_table.
40
+ //
41
+ // Note: This is currently used exclusively in the Profiling signal.
42
+ // Implementers of OTLP receivers for signals other than Profiling should
43
+ // treat the presence of this value as a non-fatal issue.
44
+ // Log an error or warning indicating an unexpected field intended for the
45
+ // Profiling signal and process the data as if this value were absent or
46
+ // empty, ignoring its semantic content for the non-Profiling signal.
47
+ //
48
+ // Status: [Alpha]
49
+ int32 string_value_strindex = 8;
50
+ }
51
+ }
52
+
53
+ // ArrayValue is a list of AnyValue messages. We need ArrayValue as a message
54
+ // since oneof in AnyValue does not allow repeated fields.
55
+ message ArrayValue {
56
+ // Array of values. The array may be empty (contain 0 elements).
57
+ repeated AnyValue values = 1;
58
+ }
59
+
60
+ // KeyValueList is a list of KeyValue messages. We need KeyValueList as a message
61
+ // since `oneof` in AnyValue does not allow repeated fields. Everywhere else where we need
62
+ // a list of KeyValue messages (e.g. in Span) we use `repeated KeyValue` directly to
63
+ // avoid unnecessary extra wrapping (which slows down the protocol). The 2 approaches
64
+ // are semantically equivalent.
65
+ message KeyValueList {
66
+ // A collection of key/value pairs of key-value pairs. The list may be empty (may
67
+ // contain 0 elements).
68
+ //
69
+ // The keys MUST be unique (it is not allowed to have more than one
70
+ // value with the same key).
71
+ // The behavior of software that receives duplicated keys can be unpredictable.
72
+ repeated KeyValue values = 1;
73
+ }
74
+
75
+ // Represents a key-value pair that is used to store Span attributes, Link
76
+ // attributes, etc.
77
+ message KeyValue {
78
+ // The key name of the pair.
79
+ // key_strindex MUST NOT be set if key is used.
80
+ string key = 1;
81
+
82
+ // The value of the pair.
83
+ AnyValue value = 2;
84
+
85
+ // Reference to the string key in ProfilesDictionary.string_table.
86
+ // key MUST NOT be set if key_strindex is used.
87
+ //
88
+ // Note: This is currently used exclusively in the Profiling signal.
89
+ // Implementers of OTLP receivers for signals other than Profiling should
90
+ // treat the presence of this key as a non-fatal issue.
91
+ // Log an error or warning indicating an unexpected field intended for the
92
+ // Profiling signal and process the data as if this value were absent or
93
+ // empty, ignoring its semantic content for the non-Profiling signal.
94
+ //
95
+ // Status: [Alpha]
96
+ int32 key_strindex = 3;
97
+ }
98
+
99
+ // InstrumentationScope is a message representing the instrumentation scope information
100
+ // such as the fully qualified name and version.
101
+ message InstrumentationScope {
102
+ // A name denoting the Instrumentation scope.
103
+ // An empty instrumentation scope name means the name is unknown.
104
+ string name = 1;
105
+
106
+ // Defines the version of the instrumentation scope.
107
+ // An empty instrumentation scope version means the version is unknown.
108
+ string version = 2;
109
+
110
+ // Additional attributes that describe the scope. [Optional].
111
+ // Attribute keys MUST be unique (it is not allowed to have more than one
112
+ // attribute with the same key).
113
+ // The behavior of software that receives duplicated keys can be unpredictable.
114
+ repeated KeyValue attributes = 3;
115
+
116
+ // The number of attributes that were discarded. Attributes
117
+ // can be discarded because their keys are too long or because there are too many
118
+ // attributes. If this value is 0, then no attributes were dropped.
119
+ uint32 dropped_attributes_count = 4;
120
+ }
121
+
122
+ // A reference to an Entity.
123
+ // Entity represents an object of interest associated with produced telemetry: e.g spans, metrics, profiles, or logs.
124
+ //
125
+ // Status: [Development]
126
+ message EntityRef {
127
+ // The Schema URL, if known. This is the identifier of the Schema that the entity data
128
+ // is recorded in. To learn more about Schema URL see
129
+ // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
130
+ //
131
+ // This schema_url applies to the data in this message and to the Resource attributes
132
+ // referenced by id_keys and description_keys.
133
+ // TODO: discuss if we are happy with this somewhat complicated definition of what
134
+ // the schema_url applies to.
135
+ //
136
+ // This field obsoletes the schema_url field in ResourceMetrics/ResourceSpans/ResourceLogs.
137
+ string schema_url = 1;
138
+
139
+ // Defines the type of the entity. MUST not change during the lifetime of the entity.
140
+ // For example: "service" or "host". This field is required and MUST not be empty
141
+ // for valid entities.
142
+ string type = 2;
143
+
144
+ // Attribute Keys that identify the entity.
145
+ // MUST not change during the lifetime of the entity. The Id must contain at least one attribute.
146
+ // These keys MUST exist in the containing {message}.attributes.
147
+ repeated string id_keys = 3;
148
+
149
+ // Descriptive (non-identifying) attribute keys of the entity.
150
+ // MAY change over the lifetime of the entity. MAY be empty.
151
+ // These attribute keys are not part of entity's identity.
152
+ // These keys MUST exist in the containing {message}.attributes.
153
+ repeated string description_keys = 4;
154
+ }