@sentio/runtime 1.0.0-development → 1.0.0-rc.3
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.
- package/LICENSE +55 -0
- package/package.json +3 -2
- package/processor_full.proto +0 -433
- package/tsconfig.json +0 -13
package/LICENSE
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
Apache License
|
2
|
+
|
3
|
+
Version 2.0, January 2004
|
4
|
+
|
5
|
+
http://www.apache.org/licenses/
|
6
|
+
|
7
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
8
|
+
|
9
|
+
1. Definitions.
|
10
|
+
|
11
|
+
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
|
12
|
+
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
|
14
|
+
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
|
16
|
+
|
17
|
+
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
|
18
|
+
|
19
|
+
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
|
20
|
+
|
21
|
+
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
|
22
|
+
|
23
|
+
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
|
24
|
+
|
25
|
+
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
|
26
|
+
|
27
|
+
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
|
28
|
+
|
29
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
|
30
|
+
|
31
|
+
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
|
32
|
+
|
33
|
+
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
|
34
|
+
|
35
|
+
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
|
36
|
+
|
37
|
+
You must give any other recipients of the Work or Derivative Works a copy of this License; and
|
38
|
+
|
39
|
+
You must cause any modified files to carry prominent notices stating that You changed the files; and
|
40
|
+
|
41
|
+
You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
|
42
|
+
|
43
|
+
If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
|
44
|
+
|
45
|
+
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
|
46
|
+
|
47
|
+
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
|
48
|
+
|
49
|
+
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
|
50
|
+
|
51
|
+
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
|
52
|
+
|
53
|
+
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
|
54
|
+
|
55
|
+
END OF TERMS AND CONDITIONS
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/runtime",
|
3
3
|
"license": "Apache-2.0",
|
4
|
-
"version": "1.0.0-
|
4
|
+
"version": "1.0.0-rc.3",
|
5
5
|
"scripts": {
|
6
6
|
"compile": "tsc -p .",
|
7
7
|
"build": "yarn compile",
|
@@ -48,5 +48,6 @@
|
|
48
48
|
],
|
49
49
|
"engines": {
|
50
50
|
"node": ">=16"
|
51
|
-
}
|
51
|
+
},
|
52
|
+
"gitHead": "9e9713c08f812579f2662ab304caf56804a67efe"
|
52
53
|
}
|
package/processor_full.proto
DELETED
@@ -1,433 +0,0 @@
|
|
1
|
-
syntax = "proto3";
|
2
|
-
|
3
|
-
package processor;
|
4
|
-
|
5
|
-
import "google/protobuf/empty.proto";
|
6
|
-
import "google/protobuf/struct.proto";
|
7
|
-
|
8
|
-
option go_package = "sentioxyz/sentio/processor/protos";
|
9
|
-
|
10
|
-
service Processor {
|
11
|
-
// Start the processor, need to be called before any other RPC calls
|
12
|
-
rpc Start(StartRequest) returns (google.protobuf.Empty);
|
13
|
-
// Stop the processor
|
14
|
-
rpc Stop(google.protobuf.Empty) returns (google.protobuf.Empty);
|
15
|
-
// Get configs of processor, it will be updated automatically if new contracts is added
|
16
|
-
// during log processing
|
17
|
-
rpc GetConfig(ProcessConfigRequest) returns (ProcessConfigResponse);
|
18
|
-
|
19
|
-
// Process data binding
|
20
|
-
rpc ProcessBindings(ProcessBindingsRequest) returns (ProcessBindingResponse);
|
21
|
-
|
22
|
-
rpc ProcessBindingsStream(stream DataBinding) returns (stream ProcessBindingResponse);
|
23
|
-
}
|
24
|
-
|
25
|
-
message ProjectConfig {
|
26
|
-
string name = 1;
|
27
|
-
string version = 3;
|
28
|
-
}
|
29
|
-
|
30
|
-
message ProcessConfigRequest {
|
31
|
-
}
|
32
|
-
|
33
|
-
message ProcessConfigResponse {
|
34
|
-
ProjectConfig config = 1;
|
35
|
-
repeated ContractConfig contract_configs = 2;
|
36
|
-
repeated TemplateInstance template_instances = 3;
|
37
|
-
|
38
|
-
repeated AccountConfig account_configs = 4;
|
39
|
-
|
40
|
-
repeated MetricConfig metric_configs = 5;
|
41
|
-
repeated EventTrackingConfig event_tracking_configs = 6;
|
42
|
-
repeated ExportConfig export_configs = 7;
|
43
|
-
}
|
44
|
-
|
45
|
-
message ContractConfig {
|
46
|
-
ContractInfo contract = 1;
|
47
|
-
repeated OnIntervalConfig interval_configs = 11;
|
48
|
-
repeated LogHandlerConfig log_configs = 3;
|
49
|
-
repeated TraceHandlerConfig trace_configs = 2;
|
50
|
-
repeated AptosEventHandlerConfig aptos_event_configs = 9;
|
51
|
-
repeated AptosCallHandlerConfig aptos_call_configs = 10;
|
52
|
-
InstructionHandlerConfig instruction_config = 6;
|
53
|
-
uint64 start_block = 4;
|
54
|
-
uint64 end_block = 5;
|
55
|
-
string processor_type = 8;
|
56
|
-
}
|
57
|
-
|
58
|
-
message TotalPerEntityAggregation {
|
59
|
-
enum Type {
|
60
|
-
AVG = 0;
|
61
|
-
MEDIAN = 1;
|
62
|
-
// add more
|
63
|
-
}
|
64
|
-
}
|
65
|
-
|
66
|
-
message RetentionConfig {
|
67
|
-
string retention_event_name = 2;
|
68
|
-
int32 days = 3;
|
69
|
-
}
|
70
|
-
|
71
|
-
message EventTrackingConfig {
|
72
|
-
string event_name = 1;
|
73
|
-
bool total_by_day = 2;
|
74
|
-
bool unique = 3;
|
75
|
-
TotalPerEntityAggregation total_per_entity = 4;
|
76
|
-
repeated int32 distinct_aggregation_by_days = 5;
|
77
|
-
RetentionConfig retention_config = 6;
|
78
|
-
}
|
79
|
-
|
80
|
-
message ExportConfig {
|
81
|
-
string name = 1;
|
82
|
-
string channel = 2;
|
83
|
-
}
|
84
|
-
|
85
|
-
enum MetricType {
|
86
|
-
UNKNOWN_TYPE = 0;
|
87
|
-
COUNTER = 1;
|
88
|
-
GAUGE = 2;
|
89
|
-
HISTOGRAM = 3;
|
90
|
-
}
|
91
|
-
|
92
|
-
message MetricConfig {
|
93
|
-
string name = 1;
|
94
|
-
string description = 3;
|
95
|
-
string unit = 2;
|
96
|
-
bool sparse = 4;
|
97
|
-
|
98
|
-
MetricType type = 7;
|
99
|
-
AggregationConfig aggregation_config = 6;
|
100
|
-
}
|
101
|
-
|
102
|
-
/*
|
103
|
-
Config to aggregate multiple data points into new data points in a constant time interval.
|
104
|
-
e.g. if you have a metric called 'vol', use 1 minutes interval and [SUM, AVG] aggregation type,
|
105
|
-
then every minutes there will be a 'vol_sum' and 'vol_avg' metric.
|
106
|
-
|
107
|
-
Currently this apply to gauge only.
|
108
|
-
*/
|
109
|
-
message AggregationConfig {
|
110
|
-
/*
|
111
|
-
The interval for data point to be resolved.
|
112
|
-
The minimal value is 1, and the max value allowed is 24*60 (1 day)
|
113
|
-
*/
|
114
|
-
repeated int32 interval_in_minutes = 1;
|
115
|
-
/*
|
116
|
-
What aggregations to be done for the data points.
|
117
|
-
*/
|
118
|
-
repeated AggregationType types = 2;
|
119
|
-
/*
|
120
|
-
Whether to discard original data points, default to be false.r
|
121
|
-
*/
|
122
|
-
bool discard_origin = 3;
|
123
|
-
}
|
124
|
-
|
125
|
-
enum AggregationType {
|
126
|
-
COUNT = 0;
|
127
|
-
SUM = 1;
|
128
|
-
// AVG = 2;
|
129
|
-
// MIN = 3;
|
130
|
-
// MAX = 4;
|
131
|
-
// P50 = 5;
|
132
|
-
// P99 = 6;
|
133
|
-
// P99_9 = 7;
|
134
|
-
}
|
135
|
-
|
136
|
-
message AccountConfig {
|
137
|
-
// TODO implement account configs
|
138
|
-
string chain_id = 1;
|
139
|
-
string address = 2;
|
140
|
-
uint64 start_block = 3;
|
141
|
-
|
142
|
-
repeated OnIntervalConfig interval_configs = 4;
|
143
|
-
repeated AptosOnIntervalConfig aptos_interval_configs = 5;
|
144
|
-
// TODO add tx handler config related to the account
|
145
|
-
|
146
|
-
repeated LogHandlerConfig log_configs = 6;
|
147
|
-
}
|
148
|
-
|
149
|
-
message HandleInterval {
|
150
|
-
int32 recent_interval = 1;
|
151
|
-
int32 backfill_interval = 2;
|
152
|
-
}
|
153
|
-
|
154
|
-
message OnIntervalConfig {
|
155
|
-
int32 handler_id = 1;
|
156
|
-
// num of minutes, there can be either minutes or slot
|
157
|
-
int32 minutes = 2;
|
158
|
-
optional HandleInterval minutes_interval = 4;
|
159
|
-
|
160
|
-
// block or version
|
161
|
-
int32 slot = 3;
|
162
|
-
optional HandleInterval slot_interval = 5;
|
163
|
-
}
|
164
|
-
|
165
|
-
message AptosOnIntervalConfig {
|
166
|
-
OnIntervalConfig interval_config = 1;
|
167
|
-
string type = 2;
|
168
|
-
}
|
169
|
-
|
170
|
-
message ContractInfo {
|
171
|
-
string name = 1;
|
172
|
-
// should this be more flexible?
|
173
|
-
string chain_id = 2;
|
174
|
-
string address = 3;
|
175
|
-
string abi = 4;
|
176
|
-
}
|
177
|
-
|
178
|
-
message TemplateInstance {
|
179
|
-
ContractInfo contract = 1;
|
180
|
-
uint64 start_block = 2;
|
181
|
-
uint64 end_block = 3;
|
182
|
-
int32 template_id = 4;
|
183
|
-
}
|
184
|
-
|
185
|
-
message StartRequest {
|
186
|
-
repeated TemplateInstance template_instances = 1;
|
187
|
-
}
|
188
|
-
|
189
|
-
message BlockHandlerConfig {
|
190
|
-
int32 handler_id = 1;
|
191
|
-
}
|
192
|
-
|
193
|
-
message TraceHandlerConfig {
|
194
|
-
string signature = 1;
|
195
|
-
int32 handler_id = 2;
|
196
|
-
}
|
197
|
-
|
198
|
-
message LogHandlerConfig {
|
199
|
-
repeated LogFilter filters = 1;
|
200
|
-
int32 handler_id = 2;
|
201
|
-
}
|
202
|
-
|
203
|
-
message LogFilter {
|
204
|
-
repeated Topic topics = 1;
|
205
|
-
// only used for when in account config
|
206
|
-
oneof address_or_type {
|
207
|
-
string address = 2;
|
208
|
-
AddressType address_type = 3;
|
209
|
-
}
|
210
|
-
}
|
211
|
-
|
212
|
-
enum AddressType {
|
213
|
-
ERC20 = 0;
|
214
|
-
ERC721 = 1;
|
215
|
-
ERC1155 = 2;
|
216
|
-
}
|
217
|
-
|
218
|
-
message InstructionHandlerConfig {
|
219
|
-
bool inner_instruction = 1;
|
220
|
-
bool parsed_instruction = 2;
|
221
|
-
bool raw_data_instruction = 3;
|
222
|
-
}
|
223
|
-
|
224
|
-
message AptosEventHandlerConfig {
|
225
|
-
repeated AptosEventFilter filters = 1;
|
226
|
-
int32 handler_id = 2;
|
227
|
-
}
|
228
|
-
|
229
|
-
message AptosEventFilter {
|
230
|
-
string type = 1;
|
231
|
-
string account = 2;
|
232
|
-
}
|
233
|
-
|
234
|
-
message AptosCallHandlerConfig {
|
235
|
-
repeated AptosCallFilter filters = 1;
|
236
|
-
int32 handler_id = 2;
|
237
|
-
}
|
238
|
-
|
239
|
-
message AptosCallFilter {
|
240
|
-
string function = 1;
|
241
|
-
repeated string type_arguments = 2;
|
242
|
-
bool with_type_arguments = 3;
|
243
|
-
bool include_failed = 4;
|
244
|
-
}
|
245
|
-
|
246
|
-
message Topic {
|
247
|
-
repeated string hashes = 1;
|
248
|
-
}
|
249
|
-
|
250
|
-
message ProcessBindingsRequest {
|
251
|
-
repeated DataBinding bindings = 1;
|
252
|
-
}
|
253
|
-
|
254
|
-
message ProcessBindingResponse {
|
255
|
-
ProcessResult result = 1;
|
256
|
-
|
257
|
-
// Whether config update because of dynamic contract processor creation
|
258
|
-
// Currently only support log handler in ethereum
|
259
|
-
bool config_updated = 4;
|
260
|
-
}
|
261
|
-
|
262
|
-
message RawTransaction {
|
263
|
-
bytes raw = 1;
|
264
|
-
optional string program_account_id = 2;
|
265
|
-
optional uint64 slot = 3;
|
266
|
-
}
|
267
|
-
|
268
|
-
message Data {
|
269
|
-
// Every Handler type should have a data type
|
270
|
-
message EthLog {
|
271
|
-
// bytes data = 1;
|
272
|
-
google.protobuf.Struct log = 3;
|
273
|
-
optional bytes transaction = 2;
|
274
|
-
}
|
275
|
-
message EthBlock {
|
276
|
-
// bytes data = 1;
|
277
|
-
google.protobuf.Struct block = 2;
|
278
|
-
}
|
279
|
-
message EthTransaction {
|
280
|
-
google.protobuf.Struct transaction = 4;
|
281
|
-
optional bytes transaction_receipt = 3;
|
282
|
-
}
|
283
|
-
message EthTrace {
|
284
|
-
google.protobuf.Struct trace = 4;
|
285
|
-
optional bytes transaction = 2;
|
286
|
-
optional bytes transaction_receipt = 3;
|
287
|
-
}
|
288
|
-
message SolInstruction {
|
289
|
-
string instruction_data = 1;
|
290
|
-
uint64 slot = 2;
|
291
|
-
string program_account_id = 3;
|
292
|
-
repeated string accounts = 5;
|
293
|
-
optional google.protobuf.Struct parsed = 4;
|
294
|
-
}
|
295
|
-
message AptEvent {
|
296
|
-
google.protobuf.Struct event = 2;
|
297
|
-
}
|
298
|
-
message AptCall {
|
299
|
-
google.protobuf.Struct call = 2;
|
300
|
-
}
|
301
|
-
message AptResource {
|
302
|
-
repeated google.protobuf.Struct resources = 4;
|
303
|
-
int64 version = 2;
|
304
|
-
int64 timestampMicros = 5;
|
305
|
-
}
|
306
|
-
|
307
|
-
bytes raw = 1;
|
308
|
-
oneof value {
|
309
|
-
EthLog eth_log = 2;
|
310
|
-
EthBlock eth_block = 3;
|
311
|
-
EthTransaction eth_transaction = 4;
|
312
|
-
EthTrace eth_trace = 5;
|
313
|
-
SolInstruction sol_instruction = 6;
|
314
|
-
AptEvent apt_event = 7;
|
315
|
-
AptCall apt_call = 8;
|
316
|
-
AptResource apt_resource = 9;
|
317
|
-
}
|
318
|
-
}
|
319
|
-
|
320
|
-
message DataBinding {
|
321
|
-
Data data = 1;
|
322
|
-
HandlerType handler_type = 3;
|
323
|
-
repeated int32 handler_ids = 4;
|
324
|
-
}
|
325
|
-
|
326
|
-
message ProcessResult {
|
327
|
-
repeated GaugeResult gauges = 1;
|
328
|
-
repeated CounterResult counters = 2;
|
329
|
-
repeated LogResult logs = 3;
|
330
|
-
repeated EventTrackingResult events = 4;
|
331
|
-
repeated ExportResult exports = 5;
|
332
|
-
}
|
333
|
-
|
334
|
-
message RecordMetaData {
|
335
|
-
// These are populated by systems.
|
336
|
-
|
337
|
-
// Contract or Wallet or Account address
|
338
|
-
string address = 1;
|
339
|
-
// Contract (solidity) or module (move) or programId (solana)
|
340
|
-
// it could be empty if this is not record for a contract
|
341
|
-
// In some chain (e.g. aptos)
|
342
|
-
// one address could have multiple contract/module name
|
343
|
-
string contract_name = 9;
|
344
|
-
// Block or slot (solana) or version (aptos) number
|
345
|
-
uint64 block_number = 2;
|
346
|
-
string transaction_hash = 6;
|
347
|
-
string chain_id = 5;
|
348
|
-
|
349
|
-
// optional for ether
|
350
|
-
int32 transaction_index = 3;
|
351
|
-
int32 log_index = 4;
|
352
|
-
|
353
|
-
// These are populated by users in meter.
|
354
|
-
// The metric name and properties
|
355
|
-
string name = 10;
|
356
|
-
|
357
|
-
// The metric labels provided by users.
|
358
|
-
map<string, string> labels = 7;
|
359
|
-
}
|
360
|
-
|
361
|
-
message MetricValue {
|
362
|
-
oneof value {
|
363
|
-
string big_decimal = 1;
|
364
|
-
double double_value = 2;
|
365
|
-
BigInteger big_integer = 3;
|
366
|
-
}
|
367
|
-
}
|
368
|
-
|
369
|
-
message BigInteger {
|
370
|
-
bool negative = 1;
|
371
|
-
bytes data = 2;
|
372
|
-
}
|
373
|
-
|
374
|
-
enum HandlerType {
|
375
|
-
UNKNOWN = 0;
|
376
|
-
ETH_LOG = 1;
|
377
|
-
ETH_BLOCK = 2;
|
378
|
-
ETH_TRACE = 5;
|
379
|
-
SOL_INSTRUCTION = 4;
|
380
|
-
APT_EVENT = 6;
|
381
|
-
APT_CALL = 7;
|
382
|
-
APT_RESOURCE = 8;
|
383
|
-
SUI_TRANSACTION = 3;
|
384
|
-
}
|
385
|
-
|
386
|
-
message RuntimeInfo {
|
387
|
-
HandlerType from = 1;
|
388
|
-
}
|
389
|
-
|
390
|
-
message GaugeResult {
|
391
|
-
RecordMetaData metadata = 1;
|
392
|
-
MetricValue metric_value = 2;
|
393
|
-
RuntimeInfo runtime_info = 3;
|
394
|
-
}
|
395
|
-
|
396
|
-
message CounterResult {
|
397
|
-
RecordMetaData metadata = 1;
|
398
|
-
MetricValue metric_value = 2;
|
399
|
-
// True to increase or False to decrease
|
400
|
-
bool add = 3;
|
401
|
-
RuntimeInfo runtime_info = 4;
|
402
|
-
}
|
403
|
-
|
404
|
-
enum LogLevel {
|
405
|
-
DEBUG = 0;
|
406
|
-
INFO = 1;
|
407
|
-
WARNING = 2;
|
408
|
-
ERROR = 3;
|
409
|
-
CRITICAL = 4;
|
410
|
-
}
|
411
|
-
|
412
|
-
message LogResult {
|
413
|
-
RecordMetaData metadata = 1;
|
414
|
-
LogLevel level = 2;
|
415
|
-
string message = 3;
|
416
|
-
// JSON payload
|
417
|
-
string attributes = 6;
|
418
|
-
RuntimeInfo runtime_info = 4;
|
419
|
-
}
|
420
|
-
|
421
|
-
message EventTrackingResult {
|
422
|
-
RecordMetaData metadata = 1;
|
423
|
-
string distinct_entity_id = 2;
|
424
|
-
// JSON payload
|
425
|
-
string attributes = 4;
|
426
|
-
RuntimeInfo runtime_info = 5;
|
427
|
-
}
|
428
|
-
|
429
|
-
message ExportResult {
|
430
|
-
RecordMetaData metadata = 1;
|
431
|
-
string payload = 2;
|
432
|
-
RuntimeInfo runtime_info = 3;
|
433
|
-
}
|