proto: update notification proto

This commit is contained in:
Tigor Hutasuhut 2024-08-27 18:17:04 +07:00
parent 63c429285e
commit 4c951daa41
2 changed files with 54 additions and 4 deletions

View file

@ -0,0 +1 @@
package ztelemetry

View file

@ -21,12 +21,23 @@ message SendNotificationResponse {
} }
message Payload { message Payload {
// message is the content of the notification.
//
// message should be short and concise since they are
// intended as forefront information.
//
// details should go to the `details` field.
string message = 1; string message = 1;
// level is the severity of the message.
//
// current implementation treats LEVEL_UNSPECIFIED as LEVEL_INFO,
// but it's recommended to set the level explicitly to avoid
// surprises in the future.
Level level = 2; Level level = 2;
optional int64 code = 3; int64 code = 3;
// details adds context to the message. // details adds context to the message.
// //
// like timestamps, invalid inputs, // like invalid inputs,
// request payloads, backend response, etc. // request payloads, backend response, etc.
// //
// Anything that can enrich why this message // Anything that can enrich why this message
@ -36,18 +47,52 @@ message Payload {
// THIS PAYLOAD. USE `SendAttachment` rpc // THIS PAYLOAD. USE `SendAttachment` rpc
// to attach binary values instead since they are designed // to attach binary values instead since they are designed
// for streaming. Server and Client RAM // for streaming. Server and Client RAM
// can be eaten alive if you failed to do so since GRPC // can be eaten alive if you ignore this predicament since GRPC
// handles via whole messages. // handles via whole messages.
oneof details { oneof details {
// Sends JSON as details. // Sends JSON as details.
//
// In the report page, this will be rendered with JSONGrid.
bytes d_json = 4; bytes d_json = 4;
// Sends text as details.
//
// Markdown syntax is supported and markdown will be rendered
// on the report page.
string d_text = 5; string d_text = 5;
} }
// error is the error message that is sent.
oneof error { oneof error {
// sends error details as JSON.
//
// like details, do not include binaries in this field.
//
// In the report page, this will be rendered with JSONGrid.
bytes e_json = 6; bytes e_json = 6;
// sends error details as text.
//
// Markdown syntax is supported and markdown will be rendered
// on the report page.
string e_text = 7; string e_text = 7;
} }
// id is the unique identifier of the message.
//
// message with same id is considered as the same message
// even if the content is different.
string id = 8; string id = 8;
// trace_id is the trace id of the message.
//
// trace_id is used to trace the message across services.
//
// Leave this empty/unset if no traces are available.
string trace_id = 9;
// span_id is the span id of the message.
//
// span_id is used to trace the message within the service/scope.
//
// Leave this empty/unset if no spans are available.
string span_id = 10;
} }
message Service { message Service {
@ -70,7 +115,11 @@ message Service {
// will help zen to categorize messages when building // will help zen to categorize messages when building
// reports. // reports.
ServiceDomain domain = 5; ServiceDomain domain = 5;
repeated Attribute attributes = 6;
// attributes are informations that enriches the service.
//
// like Session ID, Region, User-Agent, etc.
map<string, string> attributes = 6;
} }
enum ServiceDomain { enum ServiceDomain {