Protocol Documentation

Table of Contents

banyandb/common/v1/trace.proto

Span

Span is the basic unit of a trace.

FieldTypeLabelDescription
start_timegoogle.protobuf.Timestampstart_time is the start time of the span.
end_timegoogle.protobuf.Timestampend_time is the end time of the span.
errorboolerror indicates whether the span is an error span.
tagsTagrepeatedtags is a list of tags of the span.
messagestringmessage is the message generated by the span.
childrenSpanrepeatedchildren is a list of child spans of the span.
durationint64duration is the duration of the span.

Tag

Tag is the key-value pair of a span.

FieldTypeLabelDescription
keystringkey is the key of the tag.
valuestringvalue is the value of the tag.

Trace

Trace is the top level message of a trace.

FieldTypeLabelDescription
trace_idstringtrace_id is the unique identifier of the trace.
spansSpanrepeatedspans is a list of spans in the trace.
errorboolerror indicates whether the trace is an error trace.

banyandb/model/v1/common.proto

FieldValue

FieldTypeLabelDescription
nullgoogle.protobuf.NullValue
strStr
intInt
binary_databytes
floatFloat

Float

FieldTypeLabelDescription
valuedouble

Int

FieldTypeLabelDescription
valueint64

IntArray

FieldTypeLabelDescription
valueint64repeated

Str

FieldTypeLabelDescription
valuestring

StrArray

FieldTypeLabelDescription
valuestringrepeated

TagFamilyForWrite

FieldTypeLabelDescription
tagsTagValuerepeated

TagValue

FieldTypeLabelDescription
nullgoogle.protobuf.NullValue
strStr
str_arrayStrArray
intInt
int_arrayIntArray
binary_databytes
timestampgoogle.protobuf.Timestamp

AggregationFunction

NameNumberDescription
AGGREGATION_FUNCTION_UNSPECIFIED0
AGGREGATION_FUNCTION_MEAN1
AGGREGATION_FUNCTION_MAX2
AGGREGATION_FUNCTION_MIN3
AGGREGATION_FUNCTION_COUNT4
AGGREGATION_FUNCTION_SUM5

banyandb/model/v1/query.proto

Condition

Condition consists of the query condition with a single binary operator to be imposed For 1:1 BinaryOp, values in condition must be an array with length = 1, while for 1:N BinaryOp, values can be an array with length >= 1.

FieldTypeLabelDescription
namestring
opCondition.BinaryOp
valueTagValue
match_optionCondition.MatchOption

Condition.MatchOption

FieldTypeLabelDescription
analyzerstring
operatorCondition.MatchOption.Operator

Criteria

tag_families are indexed.

FieldTypeLabelDescription
leLogicalExpression
conditionCondition

LogicalExpression

LogicalExpression supports logical operation

FieldTypeLabelDescription
opLogicalExpression.LogicalOpop is a logical operation
leftCriteria
rightCriteria

QueryOrder

QueryOrder means a Sort operation to be done for a given index rule. The index_rule_name refers to the name of a index rule bound to the subject.

FieldTypeLabelDescription
index_rule_namestring
sortSort

Tag

Pair is the building block of a record which is equivalent to a key-value pair. In the context of Trace, it could be metadata of a trace such as service_name, service_instance, etc. Besides, other tags are organized in key-value pair in the underlying storage layer. One should notice that the values can be a multi-value.

FieldTypeLabelDescription
keystring
valueTagValue

TagFamily

FieldTypeLabelDescription
namestring
tagsTagrepeated

TagProjection

TagProjection is used to select the names of keys to be returned.

FieldTypeLabelDescription
tag_familiesTagProjection.TagFamilyrepeated

TagProjection.TagFamily

FieldTypeLabelDescription
namestring
tagsstringrepeated

TimeRange

TimeRange is a range query for uint64, the range here follows left-inclusive and right-exclusive rule, i.e. [begin, end) if both edges exist

FieldTypeLabelDescription
begingoogle.protobuf.Timestamp
endgoogle.protobuf.Timestamp

Condition.BinaryOp

BinaryOp specifies the operation imposed to the given query condition For EQ, NE, LT, GT, LE and GE, only one operand should be given, i.e. one-to-one relationship. HAVING and NOT_HAVING allow multi-value to be the operand such as array/vector, i.e. one-to-many relationship. For example, "keyA" contains "valueA" and "valueB" MATCH performances a full-text search if the tag is analyzed. The string value applies to the same analyzer as the tag, but string array value does not. Each item in a string array is seen as a token instead of a query expression.

NameNumberDescription
BINARY_OP_UNSPECIFIED0
BINARY_OP_EQ1
BINARY_OP_NE2
BINARY_OP_LT3
BINARY_OP_GT4
BINARY_OP_LE5
BINARY_OP_GE6
BINARY_OP_HAVING7
BINARY_OP_NOT_HAVING8
BINARY_OP_IN9
BINARY_OP_NOT_IN10
BINARY_OP_MATCH11

Condition.MatchOption.Operator

NameNumberDescription
OPERATOR_UNSPECIFIED0
OPERATOR_AND1
OPERATOR_OR2

LogicalExpression.LogicalOp

NameNumberDescription
LOGICAL_OP_UNSPECIFIED0
LOGICAL_OP_AND1
LOGICAL_OP_OR2

Sort

NameNumberDescription
SORT_UNSPECIFIED0
SORT_DESC1
SORT_ASC2

banyandb/model/v1/write.proto

Status

Status is the response status for write

NameNumberDescription
STATUS_UNSPECIFIED0
STATUS_SUCCEED1
STATUS_INVALID_TIMESTAMP2
STATUS_NOT_FOUND3
STATUS_EXPIRED_SCHEMA4
STATUS_INTERNAL_ERROR5
STATUS_DISK_FULL6
STATUS_VERSION_UNSUPPORTED7Client version not supported
STATUS_VERSION_DEPRECATED8Client version deprecated but still supported
STATUS_METADATA_REQUIRED9Metadata is required for the first request
STATUS_SCHEMA_NOT_APPLIED10Client's ModRevision is ahead of the server cache; the server waited and timed out.

banyandb/measure/v1/query.proto

DataPoint

DataPoint is stored in Measures

FieldTypeLabelDescription
timestampgoogle.protobuf.Timestamptimestamp is in the timeunit of milliseconds.
tag_familiesbanyandb.model.v1.TagFamilyrepeatedtag_families contains tags selected in the projection
fieldsDataPoint.Fieldrepeatedfields contains fields selected in the projection
siduint64sid is the series id of the data point
versionint64version is the version of the data point in a series sid, timestamp and version are used to identify a data point

DataPoint.Field

FieldTypeLabelDescription
namestring
valuebanyandb.model.v1.FieldValue

InternalDataPoint

InternalDataPoint wraps DataPoint with shard information for internal use. Used in distributed query to distinguish data from different shards.

FieldTypeLabelDescription
data_pointDataPointThe actual data point
shard_iduint32The shard id where this data point comes from

InternalQueryRequest

InternalQueryRequest is the internal request for distributed query. Wraps QueryRequest for extensibility.

FieldTypeLabelDescription
requestQueryRequestThe actual query request
agg_return_partialboolagg_return_partial when true asks data nodes to return aggregation partials (for reduce at liaison)

InternalQueryResponse

InternalQueryResponse is the internal response for distributed query. Contains shard information for proper deduplication.

FieldTypeLabelDescription
data_pointsInternalDataPointrepeateddata_points with shard information
tracebanyandb.common.v1.Tracetrace contains the trace information of the query when trace is enabled
raw_frame_bodybytesraw_frame_body contains the vectorized raw frame body when raw wire mode is enabled

QueryRequest

QueryRequest is the request contract for query.

FieldTypeLabelDescription
groupsstringrepeatedgroups indicate where the data points are stored.
namestringname is the identity of a measure.
time_rangebanyandb.model.v1.TimeRangetime_range is a range query with begin/end time of entities in the timeunit of milliseconds.
criteriabanyandb.model.v1.Criteriatag_families are indexed.
tag_projectionbanyandb.model.v1.TagProjectiontag_projection can be used to select tags of the data points in the response
field_projectionQueryRequest.FieldProjectionfield_projection can be used to select fields of the data points in the response
group_byQueryRequest.GroupBygroup_by groups data points based on their field value for a specific tag and use field_name as the projection name
aggQueryRequest.Aggregationagg aggregates data points based on a field
topQueryRequest.Toptop limits the result based on a particular field. If order_by is specified, top sorts the dataset based on order_by's output
offsetuint32offset is used to support pagination, together with the following limit. If top is specified, offset processes the dataset based on top's output
limituint32limit is used to impose a boundary on the number of records being returned. If top is specified, limit processes the dataset based on top's output
order_bybanyandb.model.v1.QueryOrderorder_by is given to specify the sort for a tag.
tracebooltrace is used to enable trace for the query
stagesstringrepeatedstages is used to specify the stage of the data points in the lifecycle
rewrite_agg_top_n_resultboolrewrite_agg_top_n_result will rewrite agg result to raw data
group_mod_revisionsQueryRequest.GroupModRevisionsEntryrepeatedgroup_mod_revisions gates the query per group. Keys match entries in groups; values are the client's known mod_revision for that group. Empty map or value 0 means "don't gate". A group not listed in the map is not gated.

QueryRequest.Aggregation

FieldTypeLabelDescription
functionbanyandb.model.v1.AggregationFunction
field_namestringfield_name must be one of files indicated by the field_projection

QueryRequest.FieldProjection

FieldTypeLabelDescription
namesstringrepeated

QueryRequest.GroupBy

FieldTypeLabelDescription
tag_projectionbanyandb.model.v1.TagProjectiontag_projection must be a subset of the tag_projection of QueryRequest
field_namestringfield_name must be one of fields indicated by field_projection

QueryRequest.GroupModRevisionsEntry

FieldTypeLabelDescription
keystring
valueint64

QueryRequest.Top

FieldTypeLabelDescription
numberint32number set the how many items should be returned
field_namestringfield_name must be one of files indicated by the field_projection
field_value_sortbanyandb.model.v1.Sortfield_value_sort indicates how to sort fields ASC: bottomN DESC: topN UNSPECIFIED: topN

QueryResponse

QueryResponse is the response for a query to the Query module.

FieldTypeLabelDescription
data_pointsDataPointrepeateddata_points are the actual data returned
tracebanyandb.common.v1.Tracetrace contains the trace information of the query when trace is enabled
group_statusesQueryResponse.GroupStatusesEntryrepeatedgroup_statuses reports the per-group gate outcome. Populated even when the query short-circuits because any group failed the gate.

QueryResponse.GroupStatusesEntry

FieldTypeLabelDescription
keystring
valuebanyandb.model.v1.Status

banyandb/measure/v1/topn.proto

TopNList

TopNList contains a series of topN items

FieldTypeLabelDescription
timestampgoogle.protobuf.Timestamptimestamp is in the timeunit of milliseconds.
itemsTopNList.Itemrepeateditems contains top-n items in a list

TopNList.Item

FieldTypeLabelDescription
entitybanyandb.model.v1.Tagrepeated
valuebanyandb.model.v1.FieldValue
versionint64
timestampgoogle.protobuf.Timestamp

TopNRequest

TopNRequest is the request contract for query.

FieldTypeLabelDescription
groupsstringrepeatedgroups indicate where the data points are stored.
namestringname is the identity of a measure.
time_rangebanyandb.model.v1.TimeRangetime_range is a range query with begin/end time of entities in the timeunit of milliseconds.
top_nint32top_n set the how many items should be returned in each list.
aggbanyandb.model.v1.AggregationFunctionagg aggregates lists grouped by field names in the time_range
conditionsbanyandb.model.v1.Conditionrepeatedcriteria select counters. Only equals are acceptable.
field_value_sortbanyandb.model.v1.Sortfield_value_sort indicates how to sort fields
tracebooltrace is used to enable trace for the query
stagesstringrepeatedstages is used to specify the stage of the data points in the lifecycle

TopNResponse

TopNResponse is the response for a query to the Query module.

FieldTypeLabelDescription
listsTopNListrepeatedlists contain a series topN lists ranked by timestamp if agg_func in query request is specified, lists' size should be one.
tracebanyandb.common.v1.Tracetrace contains the trace information of the query when trace is enabled

banyandb/common/v1/common.proto

Group

Group is an internal object for Group management

FieldTypeLabelDescription
metadataMetadatametadata define the group's identity
catalogCatalogcatalog denotes which type of data the group contains
resource_optsResourceOptsresourceOpts indicates the structure of the underlying kv storage
updated_atgoogle.protobuf.Timestampupdated_at indicates when resources of the group are updated
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.
pipelineTracePipelineConfigoptionalpipeline carries the optional group-scoped in-merge retention config. Absent or non-CATALOG_TRACE group means no sampler.

IntervalRule

IntervalRule is a structured duration

FieldTypeLabelDescription
unitIntervalRule.Unitunit can only be UNIT_HOUR or UNIT_DAY
numuint32

LifecycleStage

FieldTypeLabelDescription
namestringThe stage name (e.g., "warm", "cold"). This should be a non-empty string.
shard_numuint32Number of shards allocated for this stage. Must be greater than zero.
segment_intervalIntervalRuleDefines the interval for data segmentation in this stage. This is a required field and uses the IntervalRule structure.
ttlIntervalRuleSpecifies the time-to-live for data in this stage before moving to the next. This is also a required field using the IntervalRule structure.
node_selectorstringNode selector specifying target nodes for this stage. Optional; if provided, it must be a non-empty string.
closeboolIndicates whether segments that are no longer live should be closed.
replicasuint32replicas is the number of replicas for this stage. This is an optional field and defaults to 0. A value of 0 means no replicas, while a value of 1 means one primary shard and one replica. Higher values indicate more replicas.

Metadata

Metadata is for multi-tenant, multi-model use

FieldTypeLabelDescription
groupstringgroup contains a set of options, like retention policy, max
namestringname of the entity
iduint32id is the unique identifier of the entity if id is not set, the system will generate a unique id
create_revisionint64readonly. create_revision is the revision of last creation on this key.
mod_revisionint64readonly. mod_revision is the revision of last modification on this key.

Plugin

Plugin is one link in a pipeline's processing chain.

FieldTypeLabelDescription
namestringname is the operator-facing identity for this link.
samplerSamplerPluginsampler owns a keep/drop verdict over a vectorized batch of traces.

ResourceOpts

FieldTypeLabelDescription
shard_numuint32shard_num is the number of shards
segment_intervalIntervalRulesegment_interval indicates the length of a segment
ttlIntervalRulettl indicates time to live, how long the data will be cached
stagesLifecycleStagerepeatedstages defines the ordered lifecycle stages. Data progresses through these stages sequentially.
default_stagesstringrepeateddefault_stages is the name of the default stage
replicasuint32replicas is the number of replicas. This is used to ensure high availability and fault tolerance. This is an optional field and defaults to 0. A value of 0 means no replicas, while a value of 1 means one primary shard and one replica. Higher values indicate more replicas.

SamplerPlugin

SamplerPlugin configures a user-supplied native Go plugin (.so) that owns a keep/drop verdict over a vectorized batch of traces.

FieldTypeLabelDescription
pathstringpath is the plugin .so filename, resolved within the data node's trusted plugin directory.
symbolstringsymbol is the constructor symbol the engine looks up; defaults to "NewSampler" if empty.
abi_versionuint32abi_version is the ABI version the plugin was built against.
configgoogle.protobuf.Structconfig is the plugin-defined configuration serialized to canonical JSON for the constructor.

StageRule

StageRule binds the pipeline to one lifecycle stage and declares that stage's retention plugin chain.

FieldTypeLabelDescription
stagestringstage is the stage name from the Group's ResourceOpts.stages.
pluginsPluginrepeatedplugins is the ordered retention chain for this stage.

TracePipelineConfig

TracePipelineConfig is the group-scoped, name-less in-merge retention configuration. Identity comes from the carrying Group; there is one config per group by construction.

FieldTypeLabelDescription
enabledboolenabled activates the pipeline.
pluginsPluginrepeatedplugins is the ordered chain of plugins evaluated by enabled events.
merge_gracegoogle.protobuf.Durationmerge_grace is the per-trace maturity window for the in-merge filter. Strictly positive if set; engine default 30s if unset.
finalize_gracegoogle.protobuf.Durationfinalize_grace is the per-segment settling window for the scheduled finalization pass. Strictly positive if set; engine default 5m if unset.
stagesStageRulerepeatedstages declares per-stage retention rules.
schema_namesstringrepeatedschema_names lists explicit schema names to target within the Group.
schema_name_regexstringschema_name_regex is an RE2 pattern matched against schema names.
enabled_eventsPipelineEventrepeatedenabled_events lists the pipeline-wide events to run.

Catalog

NameNumberDescription
CATALOG_UNSPECIFIED0
CATALOG_STREAM1
CATALOG_MEASURE2
CATALOG_PROPERTY3
CATALOG_TRACE4

IntervalRule.Unit

NameNumberDescription
UNIT_UNSPECIFIED0
UNIT_HOUR1
UNIT_DAY2

PipelineEvent

PipelineEvent identifies a pipeline-wide event that can be independently enabled.

NameNumberDescription
PIPELINE_EVENT_UNSPECIFIED0
PIPELINE_EVENT_MERGE1In-merge filter during Hot-phase LSM compaction merges.
PIPELINE_EVENT_FINALIZE2Tail-sampling gate at Hot-phase segment finalization.

banyandb/property/v1/property.proto

Property

Property stores the user defined data

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata is the identity of a property
idstringid is the identity of a property
tagsbanyandb.model.v1.Tagrepeatedtag stores the content of a property
updated_atgoogle.protobuf.Timestampupdated_at indicates when the property is updated

banyandb/property/v1/rpc.proto

ApplyRequest

FieldTypeLabelDescription
propertyProperty
strategyApplyRequest.Strategystrategy indicates how to update a property. It defaults to STRATEGY_MERGE

ApplyResponse

FieldTypeLabelDescription
createdboolcreated indicates whether the property existed. True: the property is absent. False: the property existed.
tags_numuint32

DeleteRequest

FieldTypeLabelDescription
groupstringgroups indicate where the data points are stored.
namestringname is the identity of a property.
idstringid is the identity of item in the property.

DeleteResponse

FieldTypeLabelDescription
deletedbool

InternalDeleteRequest

FieldTypeLabelDescription
idsbytesrepeated

InternalQueryResponse

FieldTypeLabelDescription
sourcesbytesrepeated
tracebanyandb.common.v1.Trace
deletesint64repeateddeletes indicates the property is deleted timestamps, it's mapping to the sources in the same order if the value is 0, it means the property is not deleted
sorted_valuesbytesrepeatedsorted_values contains pre-extracted sort values from shard searches, mapping to sources in the same order for optimized sorting at liaison layer

InternalRepairRequest

FieldTypeLabelDescription
shard_iduint64
idbytes
propertyProperty
delete_timeint64

InternalRepairResponse

InternalUpdateRequest

FieldTypeLabelDescription
idbytes
shard_iduint64
propertyProperty

QueryOrder

FieldTypeLabelDescription
tag_namestringtag_name is the name of the tag to be ordered.
sortbanyandb.model.v1.Sortorder_by is given to specify the sort for a tag.

QueryRequest

QueryRequest is the request contract for query.

FieldTypeLabelDescription
groupsstringrepeatedgroups indicate where the data points are stored.
namestringname is created when it receives the first property
idsstringrepeatedids is the identities of properties
criteriabanyandb.model.v1.Criteriacriteria is used to filter properties based on tags
tag_projectionstringrepeatedtag_projection can be used to select tags of the data points in the response
limituint32
tracebooltrace is used to enable trace for the query
order_byQueryOrderorder_by is given to specify the sort for a tag.

QueryResponse

QueryResponse is the response for a query to the Query module.

FieldTypeLabelDescription
propertiesPropertyrepeatedproperties are the actual data returned
tracebanyandb.common.v1.Tracetrace contains the trace information of the query when trace is enabled

ApplyRequest.Strategy

NameNumberDescription
STRATEGY_UNSPECIFIED0
STRATEGY_MERGE1
STRATEGY_REPLACE2

PropertyService

Method NameRequest TypeResponse TypeDescription
ApplyApplyRequestApplyResponseApply creates a property if it's absent, or update a existed one based on a strategy.
DeleteDeleteRequestDeleteResponse
QueryQueryRequestQueryResponse

banyandb/stream/v1/query.proto

Element

Element represents (stream context) a Span defined in Google Dapper paper or equivalently a Segment in Skywalking. (Log context) a log

FieldTypeLabelDescription
element_idstringelement_id could be span_id of a Span or segment_id of a Segment in the context of stream
timestampgoogle.protobuf.Timestamptimestamp represents a millisecond 1) either the start time of a Span/Segment, 2) or the timestamp of a log
tag_familiesbanyandb.model.v1.TagFamilyrepeatedfields contains all indexed Field. Some typical names, - stream_id - duration - service_name - service_instance_id - end_time_milliseconds

QueryRequest

QueryRequest is the request contract for query.

FieldTypeLabelDescription
groupsstringrepeatedgroups indicate where the elements are stored.
namestringname is the identity of a stream.
time_rangebanyandb.model.v1.TimeRangetime_range is a range query with begin/end time of entities in the timeunit of milliseconds. In the context of stream, it represents the range of the startTime for spans/segments, while in the context of Log, it means the range of the timestamp(s) for logs. it is always recommended to specify time range for performance reason
offsetuint32offset is used to support pagination, together with the following limit
limituint32limit is used to impose a boundary on the number of records being returned
order_bybanyandb.model.v1.QueryOrderorder_by is given to specify the sort for a field. So far, only fields in the type of Integer are supported
criteriabanyandb.model.v1.Criteriatag_families are indexed.
projectionbanyandb.model.v1.TagProjectionprojection can be used to select the key names of the element in the response
tracebooltrace is used to enable trace for the query
stagesstringrepeatedstage is used to specify the stage of the query in the lifecycle
group_mod_revisionsQueryRequest.GroupModRevisionsEntryrepeatedgroup_mod_revisions gates the query per group. Keys match entries in groups; values are the client's known mod_revision for that group. Empty map or value 0 means "don't gate". A group not listed in the map is not gated.

QueryRequest.GroupModRevisionsEntry

FieldTypeLabelDescription
keystring
valueint64

QueryResponse

QueryResponse is the response for a query to the Query module.

FieldTypeLabelDescription
elementsElementrepeatedelements are the actual data returned
tracebanyandb.common.v1.Tracetrace contains the trace information of the query when trace is enabled
group_statusesQueryResponse.GroupStatusesEntryrepeatedgroup_statuses reports the per-group gate outcome. Populated even when the query short-circuits because any group failed the gate.

QueryResponse.GroupStatusesEntry

FieldTypeLabelDescription
keystring
valuebanyandb.model.v1.Status

banyandb/trace/v1/query.proto

InternalQueryResponse

InternalQueryResponse is the response of an internal query.

FieldTypeLabelDescription
internal_tracesInternalTracerepeatedinternal_traces is a list of internal traces that match the query.
trace_query_resultbanyandb.common.v1.Tracetrace_query_result contains the trace of the query execution if tracing is enabled.

InternalTrace

InternalTrace is the trace that is used for internal use.

FieldTypeLabelDescription
spansSpanrepeatedspans are the spans that belong to this trace.
trace_idstringtrace_id is the unique identifier of the trace.
keyint64key is used for sorting.

QueryRequest

QueryRequest is the request contract for query.

FieldTypeLabelDescription
groupsstringrepeatedgroups indicates the physical data location.
namestringname is the identity of a trace.
time_rangebanyandb.model.v1.TimeRangetime_range is a range query with begin/end time of entities in the timeunit of milliseconds. In the context of trace, it represents the range of the startTime for spans/segments, it is always recommended to specify time range for performance reason
offsetuint32offset is used to support pagination, together with the following limit
limituint32limit is used to impose a boundary on the number of spans being returned
order_bybanyandb.model.v1.QueryOrderorder_by is given to specify the sort for a tag. So far, only tags in the type of Integer are supported
criteriabanyandb.model.v1.Criteriacriteria is the filter criteria.
tag_projectionstringrepeatedprojection can be used to select the names of the tags in the response
tracebooltrace is used to enable trace for the query
stagesstringrepeatedstage is used to specify the stage of the query in the lifecycle
group_mod_revisionsQueryRequest.GroupModRevisionsEntryrepeatedgroup_mod_revisions gates the query per group. Keys match entries in groups; values are the client's known mod_revision for that group. Empty map or value 0 means "don't gate". A group not listed in the map is not gated.

QueryRequest.GroupModRevisionsEntry

FieldTypeLabelDescription
keystring
valueint64

QueryResponse

QueryResponse is the response of a query.

FieldTypeLabelDescription
tracesTracerepeatedtraces is a list of traces that match the query, with spans grouped by trace ID.
trace_query_resultbanyandb.common.v1.Tracetrace_query_result contains the trace of the query execution if tracing is enabled.
group_statusesQueryResponse.GroupStatusesEntryrepeatedgroup_statuses reports the per-group gate outcome. Populated even when the query short-circuits because any group failed the gate.

QueryResponse.GroupStatusesEntry

FieldTypeLabelDescription
keystring
valuebanyandb.model.v1.Status

Span

Span is a single operation within a trace.

FieldTypeLabelDescription
tagsbanyandb.model.v1.Tagrepeatedtags are the indexed tags of the span.
spanbytesspan is the raw span data.
span_idstringspan_id is the unique identifier of the span.

Trace

Trace contains all spans that belong to a single trace ID.

FieldTypeLabelDescription
spansSpanrepeatedspans is the list of spans that belong to this trace.
trace_idstringtrace_id is the unique identifier of the trace.

banyandb/bydbql/v1/query.proto

QueryRequest

QueryRequest is the main request message for BydbQL queries

FieldTypeLabelDescription
querystringquery is the BydbQL query string

QueryResponse

QueryResponse contains the result of a BydbQL query

FieldTypeLabelDescription
stream_resultbanyandb.stream.v1.QueryResponsestream_result is returned for stream queries
measure_resultbanyandb.measure.v1.QueryResponsemeasure_result is returned for measure queries
property_resultbanyandb.property.v1.QueryResponseproperty_result is returned for property queries
trace_resultbanyandb.trace.v1.QueryResponsetrace_result is returned for trace queries
topn_resultbanyandb.measure.v1.TopNResponsetopn_result is returned for TopN queries

banyandb/bydbql/v1/rpc.proto

BydbQLService

BydbQLService provides query interface for BanyanDB Query Language (BydbQL)

Method NameRequest TypeResponse TypeDescription
QueryQueryRequestQueryResponseQuery executes a generic BydbQL query with explicit FROM clause This endpoint requires the query to specify the resource type and name in the FROM clause (e.g., "FROM STREAM sw", "FROM MEASURE metrics")

banyandb/schema/v1/barrier.proto

AwaitRevisionAppliedRequest

AwaitRevisionAppliedRequest carries the minimum mod_revision the caller is waiting for and a wall-clock budget for the wait.

FieldTypeLabelDescription
min_revisionint64
timeoutgoogle.protobuf.Duration

AwaitRevisionAppliedResponse

AwaitRevisionAppliedResponse reports whether every node reached the target revision before the timeout, and lists laggards otherwise.

FieldTypeLabelDescription
appliedbool
laggardsNodeLaggardrepeated

AwaitSchemaAppliedRequest

AwaitSchemaAppliedRequest pairs each key with a per-key minimum revision. keys is capped at 10000 server-side; exceeding the cap returns InvalidArgument. A min_revisions entry of 0 means "just present, any revision".

FieldTypeLabelDescription
keysSchemaKeyrepeated
min_revisionsint64repeated
timeoutgoogle.protobuf.Duration

AwaitSchemaAppliedResponse

AwaitSchemaAppliedResponse reports whether every requested key is present at or above its target revision on every node.

FieldTypeLabelDescription
appliedbool
laggardsNodeLaggardrepeated

AwaitSchemaDeletedRequest

AwaitSchemaDeletedRequest names the keys that must disappear from every node's cache before the call returns.

FieldTypeLabelDescription
keysSchemaKeyrepeated
timeoutgoogle.protobuf.Duration

AwaitSchemaDeletedResponse

AwaitSchemaDeletedResponse reports whether every node has removed the requested keys.

FieldTypeLabelDescription
appliedbool
laggardsNodeLaggardrepeated

NodeLaggard

NodeLaggard reports a single cluster member (peer liaison or data node) that has not caught up to the requested schema state. missing_keys is populated by AwaitSchemaApplied responses; still_present_keys by AwaitSchemaDeleted responses. reason is set when the laggard exists for a non-default cause (e.g. "evicted_during_poll" when the cluster transitioned the member from Active to Evictable mid-call); empty otherwise.

FieldTypeLabelDescription
nodestring
current_mod_revisionint64
missing_keysSchemaKeyrepeated
still_present_keysSchemaKeyrepeated
reasonstring

SchemaKey

SchemaKey identifies a schema resource by kind and name. Valid kind values: "measure", "stream", "trace", "property", "index_rule", "index_rule_binding", "group", "top_n_aggregation".

FieldTypeLabelDescription
kindstring
groupstring
namestring

SchemaBarrierService

SchemaBarrierService lets clients block until every data node in the cluster has caught up to a target schema state. The standalone implementation lands in Step 1.8; the distributed liaison fan-out lands in Steps 1.15-1.17.

Method NameRequest TypeResponse TypeDescription
AwaitRevisionAppliedAwaitRevisionAppliedRequestAwaitRevisionAppliedResponseAwaitRevisionApplied blocks until every data node's local schema cache has observed mod_revision >= min_revision, or the timeout elapses.
AwaitSchemaAppliedAwaitSchemaAppliedRequestAwaitSchemaAppliedResponseAwaitSchemaApplied blocks until every data node reports all requested keys present at or above the per-key mod_revision.
AwaitSchemaDeletedAwaitSchemaDeletedRequestAwaitSchemaDeletedResponseAwaitSchemaDeleted blocks until every data node has removed all requested keys from its cache.

banyandb/cluster/v1/node_schema_status.proto

GetAbsentKeysRequest

GetAbsentKeysRequest names the keys whose absence the caller wants to confirm.

FieldTypeLabelDescription
keysbanyandb.schema.v1.SchemaKeyrepeated

GetAbsentKeysResponse

GetAbsentKeysResponse partitions the requested keys into absent and still-present subsets.

FieldTypeLabelDescription
absent_keysbanyandb.schema.v1.SchemaKeyrepeated
still_present_keysbanyandb.schema.v1.SchemaKeyrepeated

GetKeyRevisionsRequest

GetKeyRevisionsRequest names the keys whose per-key revisions the caller wants to inspect.

FieldTypeLabelDescription
keysbanyandb.schema.v1.SchemaKeyrepeated

GetKeyRevisionsResponse

GetKeyRevisionsResponse lists per-key revisions in the same order the caller supplied keys.

FieldTypeLabelDescription
revisionsKeyRevisionrepeated

GetMaxRevisionRequest

GetMaxRevisionRequest carries no parameters; the node returns its current max mod_revision.

GetMaxRevisionResponse

GetMaxRevisionResponse holds the node's current max mod_revision.

FieldTypeLabelDescription
max_mod_revisionint64

KeyRevision

KeyRevision pairs a SchemaKey with the node's local mod_revision and presence flag.

FieldTypeLabelDescription
keybanyandb.schema.v1.SchemaKey
mod_revisionint64
presentbool

NodeSchemaStatusService

NodeSchemaStatusService is exposed by every data node so the liaison can inspect each node's local schema cache when satisfying a SchemaBarrierService request. The implementation lands in Step 2.1.

Method NameRequest TypeResponse TypeDescription
GetMaxRevisionGetMaxRevisionRequestGetMaxRevisionResponseGetMaxRevision returns the highest mod_revision currently observed by the node's schema cache.
GetKeyRevisionsGetKeyRevisionsRequestGetKeyRevisionsResponseGetKeyRevisions returns the per-key mod_revision observed by the node, and a presence flag for each key.
GetAbsentKeysGetAbsentKeysRequestGetAbsentKeysResponseGetAbsentKeys partitions the requested keys into those the node has already removed and those that are still present.

banyandb/cluster/v1/rpc.proto

FileInfo

Information about an individual file within a part.

FieldTypeLabelDescription
namestringFile identifier (e.g., "primary", "timestamps", "tagFamilies:seriesId").
offsetuint32Byte offset within the part where this file starts.
sizeuint32Size of this file in bytes.

HealthCheckRequest

FieldTypeLabelDescription
service_namestring

HealthCheckResponse

FieldTypeLabelDescription
service_namestring
statusbanyandb.model.v1.Status
errorstring

PartInfo

Information about a part contained within a chunk.

FieldTypeLabelDescription
iduint64Unique identifier for this part.
filesFileInforepeatedInformation about individual files within this part.
compressed_size_bytesuint64Compressed size in bytes from partMetadata.
uncompressed_size_bytesuint64Uncompressed size in bytes from partMetadata.
total_countuint64Total count from partMetadata.
blocks_countuint64Blocks count from partMetadata.
min_timestampint64Minimum timestamp from partMetadata.
max_timestampint64Maximum timestamp from partMetadata.
min_keyint64Minimum user-provided key for sidx.
max_keyint64Maximum user-provided key for sidx.
part_typestringPart type.

PartResult

PartResult contains the result for individual parts.

FieldTypeLabelDescription
successboolWhether this part was processed successfully.
errorstringError message if processing failed.
bytes_processeduint32Number of bytes processed for this part.

SendRequest

FieldTypeLabelDescription
topicstring
message_iduint64
bodybytes
batch_modbool
version_infoVersionInfoversion_info contains version information
groupstringgroup is the business group associated with this message.
sender_nodestringsender_node is the BanyanDB node name of the sender; set only on the first message of a stream.
sender_rolestringsender_role is the role of the sender node; set only on the first message of a stream.
sender_tierstringsender_tier is the storage tier label of the sender node; set only on the first message of a stream.

SendResponse

FieldTypeLabelDescription
message_iduint64
errorstring
bodybytes
statusbanyandb.model.v1.Status
version_compatibilityVersionCompatibilityversion_compatibility contains version compatibility information when status indicates version issues

SyncCompletion

SyncCompletion contains completion information for the sync operation.

FieldTypeLabelDescription
total_bytes_sentuint64Total bytes sent for validation.
total_parts_sentuint32Total number of parts sent.
total_chunksuint32Total number of chunks in this sync.

SyncMetadata

SyncMetadata contains metadata for the sync operation.

FieldTypeLabelDescription
groupstringGroup name (stream/measure).
shard_iduint32Shard identifier.
topicstringSync topic (stream-part-sync or measure-part-sync).
timestampint64Timestamp when sync started.
total_partsuint32Total number of parts being synced.
sender_nodestringsender_node is the BanyanDB node name of the sender.
sender_rolestringsender_role is the role of the sender node.
sender_tierstringsender_tier is the storage tier label of the sender node.

SyncPartRequest

Chunked Sync Service Messages.

FieldTypeLabelDescription
session_idstringUnique session identifier for this sync operation.
chunk_indexuint32Current chunk index (0-based).
chunk_databytesActual chunk data.
chunk_checksumstringCRC32 checksum for this chunk.
parts_infoPartInforepeatedInformation about parts contained in this chunk.
metadataSyncMetadataSent with first chunk (chunk_index = 0).
completionSyncCompletionSent with last chunk to finalize.
version_infoVersionInfoversion_info contains version information

SyncPartResponse

SyncPartResponse contains the response for a sync part request.

FieldTypeLabelDescription
session_idstring
chunk_indexuint32
statusSyncStatus
errorstring
sync_resultSyncResultFinal result when sync completes.
version_compatibilityVersionCompatibilityversion_compatibility contains version compatibility information when status indicates version issues

SyncResult

SyncResult contains the result of a sync operation.

FieldTypeLabelDescription
successboolWhether entire sync was successful.
total_bytes_receiveduint64Total bytes received.
duration_msint64Time taken for sync in milliseconds.
chunks_receiveduint32Number of chunks successfully received.
parts_receiveduint32Number of parts successfully received.
parts_resultsPartResultrepeatedResults for each part.

VersionCompatibility

FieldTypeLabelDescription
supportedboolsupported indicates whether the client version is supported
server_api_versionstringserver_api_version is the API version of the server
supported_api_versionsstringrepeatedsupported_api_versions lists API versions supported by the server
server_file_format_versionstringserver_file_format_version is the file format version of the server
supported_file_format_versionsstringrepeatedsupported_file_format_versions lists file format versions supported by the server
reasonstringreason provides human-readable explanation of version incompatibility

VersionInfo

FieldTypeLabelDescription
file_format_versionstringfile_format_version indicates the file format version used
compatible_file_format_versionstringrepeatedcompatible_file_format_version lists backward compatible versions
api_versionstringapi_version indicates the API semantic version

SyncStatus

SyncStatus represents the status of a sync operation.

NameNumberDescription
SYNC_STATUS_UNSPECIFIED0Unspecified status.
SYNC_STATUS_CHUNK_RECEIVED1Chunk received and validated successfully.
SYNC_STATUS_CHUNK_CHECKSUM_MISMATCH2Chunk checksum validation failed.
SYNC_STATUS_CHUNK_OUT_OF_ORDER3Chunk received out of expected order.
SYNC_STATUS_SESSION_NOT_FOUND4Session ID not recognized.
SYNC_STATUS_SYNC_COMPLETE5Entire sync operation completed successfully.
SYNC_STATUS_VERSION_UNSUPPORTED6Version not supported for sync operations.
SYNC_STATUS_FORMAT_VERSION_MISMATCH7File format version incompatible.
SYNC_STATUS_SERVER_BUSY8Receiver under memory pressure; sender should back off and retry the whole part.

ChunkedSyncService

ChunkedSyncService provides streaming sync capabilities for chunked data transfer.

Method NameRequest TypeResponse TypeDescription
SyncPartSyncPartRequest streamSyncPartResponse streamSyncPart synchronizes part data using chunked transfer.

Service

Method NameRequest TypeResponse TypeDescription
SendSendRequest streamSendResponse stream
HealthCheckHealthCheckRequestHealthCheckResponse

banyandb/common/v1/rpc.proto

APIVersion

APIVersion is the version of the API

FieldTypeLabelDescription
versionstringversion is the version of the API
revisionstringrevision is the commit hash of the API

GetAPIVersionRequest

GetAPIVersionRequest is the request for GetAPIVersion

empty

GetAPIVersionResponse

GetAPIVersionResponse is the response for GetAPIVersion

FieldTypeLabelDescription
versionAPIVersionversion is the version of the API

Service

Service is the service for the API

Method NameRequest TypeResponse TypeDescription
GetAPIVersionGetAPIVersionRequestGetAPIVersionResponseGetAPIVersion returns the version of the API

banyandb/database/v1/database.proto

Node

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata
rolesRolerepeated
grpc_addressstring
http_addressstring
created_atgoogle.protobuf.Timestamp
labelsNode.LabelsEntryrepeatedlabels is a set of key-value pairs to describe the node.
property_repair_gossip_grpc_addressstring
property_schema_grpc_addressstring
property_schema_gossip_grpc_addressstring

Node.LabelsEntry

FieldTypeLabelDescription
keystring
valuestring

Shard

FieldTypeLabelDescription
iduint64
metadatabanyandb.common.v1.Metadata
catalogbanyandb.common.v1.Catalog
nodestring
totaluint32
updated_atgoogle.protobuf.Timestamp
created_atgoogle.protobuf.Timestamp

Role

NameNumberDescription
ROLE_UNSPECIFIED0
ROLE_META1
ROLE_DATA2
ROLE_LIAISON3

banyandb/database/v1/schema.proto

Entity

FieldTypeLabelDescription
tag_namesstringrepeated

FieldSpec

FieldSpec is the specification of field

FieldTypeLabelDescription
namestringname is the identity of a field
field_typeFieldTypefield_type denotes the type of field value
encoding_methodEncodingMethodencoding_method indicates how to encode data during writing
compression_methodCompressionMethodcompression_method indicates how to compress data during writing

IndexRule

IndexRule defines how to generate indices based on tags and the index type IndexRule should bind to a subject through an IndexRuleBinding to generate proper indices.

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata define the rule's identity
tagsstringrepeatedtags are the combination that refers to an indexed object If the elements in tags are more than 1, the object will generate a multi-tag index Caveat: All tags in a multi-tag MUST have an identical IndexType
typeIndexRule.Typetype is the IndexType of this IndexObject.
updated_atgoogle.protobuf.Timestampupdated_at indicates when the IndexRule is updated
analyzerstringanalyzer analyzes tag value to support the full-text searching for TYPE_INVERTED indices. available analyzers are: - "standard" provides grammar based tokenization - "simple" breaks text into tokens at any non-letter character, such as numbers, spaces, hyphens and apostrophes, discards non-letter characters, and changes uppercase to lowercase. - "keyword" is a “noop” analyzer which returns the entire input string as a single token. - "url" breaks test into tokens at any non-letter and non-digit character.
no_sortboolno_sort indicates whether the index is not for sorting.
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.

IndexRuleBinding

IndexRuleBinding is a bridge to connect severalIndexRules to a subject This binding is valid between begin_at_nanoseconds and expire_at_nanoseconds, that provides flexible strategies to control how to generate time series indices.

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata is the identity of this binding
rulesstringrepeatedrules refers to the IndexRule
subjectSubjectsubject indicates the subject of binding action
begin_atgoogle.protobuf.Timestampbegin_at_nanoseconds is the timestamp, after which the binding will be active
expire_atgoogle.protobuf.Timestampexpire_at_nanoseconds it the timestamp, after which the binding will be inactive expire_at_nanoseconds must be larger than begin_at_nanoseconds
updated_atgoogle.protobuf.Timestampupdated_at indicates when the IndexRuleBinding is updated
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.

Measure

Measure intends to store data point

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata is the identity of a measure
tag_familiesTagFamilySpecrepeatedtag_families are for filter measures
fieldsFieldSpecrepeatedfields denote measure values
entityEntityentity indicates which tags will be to generate a series and shard a measure
intervalstringinterval indicates how frequently to send a data point valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h", "d".
updated_atgoogle.protobuf.Timestampupdated_at indicates when the measure is updated
index_modeboolindex_mode specifies whether the data should be stored exclusively in the index, meaning it will not be stored in the data storage system.
sharding_keyShardingKeysharding_key determines the distribution of TopN-related data.
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.

Property

Property stores the user defined data

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata is the identity of a property
tagsTagSpecrepeatedtag stores the content of a property
updated_atgoogle.protobuf.Timestampupdated_at indicates when the property is updated
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.

ShardingKey

FieldTypeLabelDescription
tag_namesstringrepeated

Stream

Stream intends to store streaming data, for example, traces or logs

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata is the identity of a trace series
tag_familiesTagFamilySpecrepeatedtag_families
entityEntityentity indicates how to generate a series and shard a stream
updated_atgoogle.protobuf.Timestampupdated_at indicates when the stream is updated
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.

Subject

Subject defines which stream or measure would generate indices

FieldTypeLabelDescription
catalogbanyandb.common.v1.Catalogcatalog is where the subject belongs to todo validate plugin exist bug https://github.com/bufbuild/protoc-gen-validate/issues/672
namestringname refers to a stream or measure in a particular catalog

TagFamilySpec

FieldTypeLabelDescription
namestring
tagsTagSpecrepeatedtags defines accepted tags

TagSpec

FieldTypeLabelDescription
namestring
typeTagType

TopNAggregation

TopNAggregation generates offline TopN statistics for a measure's TopN approximation

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata is the identity of an aggregation
source_measurebanyandb.common.v1.Metadatasource_measure denotes the data source of this aggregation
field_namestringfield_name is the name of field used for ranking
field_value_sortbanyandb.model.v1.Sortfield_value_sort indicates how to sort fields ASC: bottomN DESC: topN UNSPECIFIED: topN + bottomN todo validate plugin exist bug https://github.com/bufbuild/protoc-gen-validate/issues/672
group_by_tag_namesstringrepeatedgroup_by_tag_names groups data points into statistical counters
criteriabanyandb.model.v1.Criteriacriteria select partial data points from measure
counters_numberint32counters_number sets the number of counters to be tracked. The default value is 1000
lru_sizeint32lru_size defines how much entry is allowed to be maintained in the memory
updated_atgoogle.protobuf.Timestampupdated_at indicates when the measure is updated
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.

Trace

Trace defines a tracing-specific storage resource. It is suitable for storing traces and spans. The name of a Trace is a logical namespace within a group, while the group of a Trace corresponds to a physical directory.

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatametadata is the identity of the trace resource.
tagsTraceTagSpecrepeatedtags are the specification of tags.
trace_id_tag_namestringtrace_id_tag_name is the name of the tag that stores the trace ID.
timestamp_tag_namestringtimestamp_tag_name is the name of the tag that stores the timestamp.
updated_atgoogle.protobuf.Timestampupdated_at indicates when the trace resource is updated.
span_id_tag_namestringspan_id_tag_name is the name of the tag that stores the span ID.
created_atgoogle.protobuf.Timestampcreated_at is the first-appearance timestamp; survives updates unchanged.

TraceTagSpec

TraceTagSpec defines the specification of a tag in a trace.

FieldTypeLabelDescription
namestringname is the name of the tag.
typeTagTypetype is the type of the tag.

CompressionMethod

NameNumberDescription
COMPRESSION_METHOD_UNSPECIFIED0
COMPRESSION_METHOD_ZSTD1

EncodingMethod

NameNumberDescription
ENCODING_METHOD_UNSPECIFIED0
ENCODING_METHOD_GORILLA1

FieldType

NameNumberDescription
FIELD_TYPE_UNSPECIFIED0
FIELD_TYPE_STRING1
FIELD_TYPE_INT2
FIELD_TYPE_DATA_BINARY3
FIELD_TYPE_FLOAT4

IndexRule.Type

Type determine the index structure under the hood

NameNumberDescription
TYPE_UNSPECIFIED0
TYPE_INVERTED1
TYPE_SKIPPING2
TYPE_TREE3TYPE_TREE is a tree index, which is used for storing hierarchical data.

TagType

NameNumberDescription
TAG_TYPE_UNSPECIFIED0
TAG_TYPE_STRING1
TAG_TYPE_INT2
TAG_TYPE_STRING_ARRAY3
TAG_TYPE_INT_ARRAY4
TAG_TYPE_DATA_BINARY5
TAG_TYPE_TIMESTAMP6

banyandb/database/v1/rpc.proto

DataInfo

DataInfo contains data storage information for a specific node.

FieldTypeLabelDescription
nodeNodenode is the node that stores this data.
segment_infoSegmentInforepeatedsegment_info contains information about each segment on this node.
data_size_bytesint64data_size_bytes is the total size of data on this node in bytes.

GetClusterStateRequest

GetClusterStateResponse

FieldTypeLabelDescription
route_tablesGetClusterStateResponse.RouteTablesEntryrepeatedLiaison node: map's key could be "tire1" and "tire2". tire1 route traffic between liaison nodes, tire2 spread data among data nodes Data node: map's key could be "property" for gossip. Lifecycle agent: map's key could be the next stage's name.

GetClusterStateResponse.RouteTablesEntry

FieldTypeLabelDescription
keystring
valueRouteTable

GetCurrentNodeRequest

GetCurrentNodeResponse

FieldTypeLabelDescription
nodeNode

GroupDeletionTask

GroupDeletionTask represents the status of a group deletion operation.

FieldTypeLabelDescription
current_phaseGroupDeletionTask.Phasecurrent_phase is the current phase of the deletion task.
total_countsGroupDeletionTask.TotalCountsEntryrepeatedtotal_counts maps resource types to their total count.
deleted_countsGroupDeletionTask.DeletedCountsEntryrepeateddeleted_counts maps resource types to the count of deleted resources.
total_data_size_bytesint64total_data_size_bytes is the total size of data to be deleted in bytes.
deleted_data_size_bytesint64deleted_data_size_bytes is the size of data that has been deleted in bytes.
messagestringmessage provides additional information about the task status.
created_atgoogle.protobuf.Timestampcreated_at is the timestamp when the task was created.
updated_atgoogle.protobuf.Timestampupdated_at is the timestamp when the task was last updated.

GroupDeletionTask.DeletedCountsEntry

FieldTypeLabelDescription
keystring
valueint32

GroupDeletionTask.TotalCountsEntry

FieldTypeLabelDescription
keystring
valueint32

GroupRegistryServiceCreateRequest

FieldTypeLabelDescription
groupbanyandb.common.v1.Group

GroupRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

GroupRegistryServiceDeleteRequest

GroupRegistryServiceDeleteRequest is the request for deleting a group.

FieldTypeLabelDescription
groupstringgroup is the name of the group to delete.
dry_runbooldry_run indicates whether to perform a dry run without actually deleting data. When true, returns what would be deleted without making changes.
forceboolforce indicates whether to force delete the group even if it contains data. When false, deletion will fail if the group is not empty.
data_onlybooldata_only indicates whether to delete only data files without removing metadata. When true, metadata are preserved.

GroupRegistryServiceDeleteResponse

GroupRegistryServiceDeleteResponse is the response for deleting a group.

FieldTypeLabelDescription
schema_infoSchemaInfoschema_info contains the schema resources that would be deleted (populated in dry-run mode).
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

GroupRegistryServiceExistRequest

FieldTypeLabelDescription
groupstring

GroupRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool

GroupRegistryServiceGetRequest

FieldTypeLabelDescription
groupstring

GroupRegistryServiceGetResponse

FieldTypeLabelDescription
groupbanyandb.common.v1.Group

GroupRegistryServiceInspectRequest

GroupRegistryServiceInspectRequest is the request for inspecting a group's detailed information.

FieldTypeLabelDescription
groupstringgroup is the name of the group to inspect.

GroupRegistryServiceInspectResponse

GroupRegistryServiceInspectResponse is the response for inspecting a group.

FieldTypeLabelDescription
groupbanyandb.common.v1.Groupgroup contains the group metadata.
schema_infoSchemaInfoschema_info contains information about all schemas in the group.
data_infoDataInforepeateddata_info contains data storage information for each node.
liaison_infoLiaisonInforepeatedliaison_info contains information about pending operations in liaison.

GroupRegistryServiceListRequest

GroupRegistryServiceListResponse

FieldTypeLabelDescription
groupbanyandb.common.v1.Grouprepeated

GroupRegistryServiceQueryRequest

GroupRegistryServiceQueryRequest is the request for querying a group deletion task.

FieldTypeLabelDescription
groupstringgroup is the name of the group whose deletion task to query.

GroupRegistryServiceQueryResponse

GroupRegistryServiceQueryResponse is the response for querying a group deletion task.

FieldTypeLabelDescription
taskGroupDeletionTasktask contains the status of the deletion task.

GroupRegistryServiceUpdateRequest

FieldTypeLabelDescription
groupbanyandb.common.v1.Group

GroupRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

IndexRuleBindingRegistryServiceCreateRequest

FieldTypeLabelDescription
index_rule_bindingIndexRuleBinding

IndexRuleBindingRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

IndexRuleBindingRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

IndexRuleBindingRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

IndexRuleBindingRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

IndexRuleBindingRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_index_rule_bindingbool

IndexRuleBindingRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

IndexRuleBindingRegistryServiceGetResponse

FieldTypeLabelDescription
index_rule_bindingIndexRuleBinding

IndexRuleBindingRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

IndexRuleBindingRegistryServiceListResponse

FieldTypeLabelDescription
index_rule_bindingIndexRuleBindingrepeated

IndexRuleBindingRegistryServiceUpdateRequest

FieldTypeLabelDescription
index_rule_bindingIndexRuleBinding

IndexRuleBindingRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

IndexRuleRegistryServiceCreateRequest

FieldTypeLabelDescription
index_ruleIndexRule

IndexRuleRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

IndexRuleRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

IndexRuleRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

IndexRuleRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

IndexRuleRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_index_rulebool

IndexRuleRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

IndexRuleRegistryServiceGetResponse

FieldTypeLabelDescription
index_ruleIndexRule

IndexRuleRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

IndexRuleRegistryServiceListResponse

FieldTypeLabelDescription
index_ruleIndexRulerepeated

IndexRuleRegistryServiceUpdateRequest

FieldTypeLabelDescription
index_ruleIndexRule

IndexRuleRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

InvertedIndexInfo

InvertedIndexInfo contains information about the inverted index.

FieldTypeLabelDescription
data_countint64data_count is the number of entries in the inverted index.
data_size_bytesint64data_size_bytes is the size of the inverted index in bytes.

LiaisonInfo

LiaisonInfo contains information about pending operations in liaison.

FieldTypeLabelDescription
pending_write_data_countint64pending_write_data_count is the number of data entries waiting to be written.
pending_sync_part_countint64pending_sync_part_count is the number of parts waiting to be synchronized.
pending_sync_data_size_bytesint64pending_sync_data_size_bytes is the size of data waiting to be synchronized in bytes.
pending_handoff_part_countint64pending_handoff_part_count is the number of parts waiting for handoff.
pending_handoff_data_size_bytesint64pending_handoff_data_size_bytes is the size of data waiting for handoff in bytes.

MeasureRegistryServiceCreateRequest

FieldTypeLabelDescription
measureMeasure

MeasureRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64

MeasureRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

MeasureRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

MeasureRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

MeasureRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_measurebool

MeasureRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

MeasureRegistryServiceGetResponse

FieldTypeLabelDescription
measureMeasure

MeasureRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

MeasureRegistryServiceListResponse

FieldTypeLabelDescription
measureMeasurerepeated

MeasureRegistryServiceUpdateRequest

FieldTypeLabelDescription
measureMeasure

MeasureRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64

PropertyRegistryServiceCreateRequest

FieldTypeLabelDescription
propertyProperty

PropertyRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64

PropertyRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

PropertyRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

PropertyRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

PropertyRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_propertybool

PropertyRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

PropertyRegistryServiceGetResponse

FieldTypeLabelDescription
propertyProperty

PropertyRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

PropertyRegistryServiceListResponse

FieldTypeLabelDescription
propertiesPropertyrepeated

PropertyRegistryServiceUpdateRequest

FieldTypeLabelDescription
propertyProperty

PropertyRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64

RouteTable

RouteTable represents a collection of nodes grouped by their health state. It provides a view of nodes that are registered, actively healthy, and those being evicted.

FieldTypeLabelDescription
registeredNoderepeatedregistered contains all nodes that have been discovered and registered in this route.
activestringrepeatedactive contains node names (Node.Metadata.Name) that are currently healthy and can handle requests.
evictablestringrepeatedevictable contains node names (Node.Metadata.Name) that are unhealthy and being retried before eviction.

SIDXInfo

SIDXInfo contains information about sidx.

FieldTypeLabelDescription
data_countint64data_count is the number of entries in sidx.
data_size_bytesint64data_size_bytes is the size of sidx in bytes.
part_countint64part_count is the number of parts in sidx.

SchemaInfo

SchemaInfo contains information about all schema objects in a group.

FieldTypeLabelDescription
streamsstringrepeatedstreams is the list of stream names in the group.
measuresstringrepeatedmeasures is the list of measure names in the group.
tracesstringrepeatedtraces is the list of trace names in the group.
propertiesstringrepeatedproperties is the list of property names in the group.
index_rulesstringrepeatedindex_rules is the list of index rule names in the group.
index_rule_bindingsstringrepeatedindex_rule_bindings is the list of index rule binding names in the group.
topn_aggregationsstringrepeatedtopn_aggregations is the list of TopN aggregation names in the group.

SegmentInfo

SegmentInfo contains information about a specific time segment.

FieldTypeLabelDescription
segment_idstringsegment_id is the unique identifier of the segment.
time_range_startstringtime_range_start is the start time of the segment.
time_range_endstringtime_range_end is the end time of the segment.
shard_infoShardInforepeatedshard_info contains information about each shard in this segment.
series_index_infoSeriesIndexInfoseries_index_info contains information about the series index.

SeriesIndexInfo

SeriesIndexInfo contains information about the series index.

FieldTypeLabelDescription
data_countint64data_count is the number of entries in the series index.
data_size_bytesint64data_size_bytes is the size of the series index in bytes.

ShardInfo

ShardInfo contains information about a specific shard.

FieldTypeLabelDescription
shard_iduint32shard_id is the unique identifier of the shard.
data_countint64data_count is the number of data entries in this shard.
data_size_bytesint64data_size_bytes is the size of data in this shard in bytes.
part_countint64part_count is the number of parts in this shard.
inverted_index_infoInvertedIndexInfoinverted_index_info contains information about the inverted index.
sidx_infoSIDXInfosidx_info contains information about sidx.
file_part_countint64file_part_count is the number of file parts (excluding in-memory parts) in this shard.

Snapshot

FieldTypeLabelDescription
catalogbanyandb.common.v1.Catalog
namestring
errorstring

SnapshotRequest

FieldTypeLabelDescription
groupsSnapshotRequest.Grouprepeated

SnapshotRequest.Group

FieldTypeLabelDescription
catalogbanyandb.common.v1.Catalog
groupstring

SnapshotResponse

FieldTypeLabelDescription
snapshotsSnapshotrepeated

StreamRegistryServiceCreateRequest

FieldTypeLabelDescription
streamStream

StreamRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64

StreamRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

StreamRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

StreamRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

StreamRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_streambool

StreamRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

StreamRegistryServiceGetResponse

FieldTypeLabelDescription
streamStream

StreamRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

StreamRegistryServiceListResponse

FieldTypeLabelDescription
streamStreamrepeated

StreamRegistryServiceUpdateRequest

FieldTypeLabelDescription
streamStream

StreamRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64

TopNAggregationRegistryServiceCreateRequest

FieldTypeLabelDescription
top_n_aggregationTopNAggregation

TopNAggregationRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

TopNAggregationRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TopNAggregationRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

TopNAggregationRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TopNAggregationRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_top_n_aggregationbool

TopNAggregationRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TopNAggregationRegistryServiceGetResponse

FieldTypeLabelDescription
top_n_aggregationTopNAggregation

TopNAggregationRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

TopNAggregationRegistryServiceListResponse

FieldTypeLabelDescription
top_n_aggregationTopNAggregationrepeated

TopNAggregationRegistryServiceUpdateRequest

FieldTypeLabelDescription
top_n_aggregationTopNAggregation

TopNAggregationRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64mod_revision is the etcd revision assigned by the server on successful create/update.

TraceRegistryServiceCreateRequest

FieldTypeLabelDescription
traceTrace

TraceRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64

TraceRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TraceRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the etcd revision of the tombstone; zero if the server did not record one.

TraceRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TraceRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_tracebool

TraceRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TraceRegistryServiceGetResponse

FieldTypeLabelDescription
traceTrace

TraceRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

TraceRegistryServiceListResponse

FieldTypeLabelDescription
traceTracerepeated

TraceRegistryServiceUpdateRequest

FieldTypeLabelDescription
traceTrace

TraceRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64

GroupDeletionTask.Phase

Phase represents the current phase of the deletion task.

NameNumberDescription
PHASE_UNSPECIFIED0
PHASE_PENDING1PHASE_PENDING indicates the task is waiting to start.
PHASE_IN_PROGRESS2PHASE_IN_PROGRESS indicates the task is currently executing.
PHASE_COMPLETED3PHASE_COMPLETED indicates the task has completed successfully.
PHASE_FAILED4PHASE_FAILED indicates the task has failed.

ClusterStateService

Method NameRequest TypeResponse TypeDescription
GetClusterStateGetClusterStateRequestGetClusterStateResponse

GroupRegistryService

Method NameRequest TypeResponse TypeDescription
CreateGroupRegistryServiceCreateRequestGroupRegistryServiceCreateResponse
UpdateGroupRegistryServiceUpdateRequestGroupRegistryServiceUpdateResponse
DeleteGroupRegistryServiceDeleteRequestGroupRegistryServiceDeleteResponseDelete removes a group and all its associated data. Supports dry-run mode to preview what would be deleted.
GetGroupRegistryServiceGetRequestGroupRegistryServiceGetResponse
ListGroupRegistryServiceListRequestGroupRegistryServiceListResponse
ExistGroupRegistryServiceExistRequestGroupRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead
InspectGroupRegistryServiceInspectRequestGroupRegistryServiceInspectResponseInspect retrieves detailed information about a group including its schemas, data distribution, and pending operations.
QueryGroupRegistryServiceQueryRequestGroupRegistryServiceQueryResponseQuery retrieves the status of a group deletion task.

IndexRuleBindingRegistryService

Method NameRequest TypeResponse TypeDescription
CreateIndexRuleBindingRegistryServiceCreateRequestIndexRuleBindingRegistryServiceCreateResponse
UpdateIndexRuleBindingRegistryServiceUpdateRequestIndexRuleBindingRegistryServiceUpdateResponse
DeleteIndexRuleBindingRegistryServiceDeleteRequestIndexRuleBindingRegistryServiceDeleteResponse
GetIndexRuleBindingRegistryServiceGetRequestIndexRuleBindingRegistryServiceGetResponse
ListIndexRuleBindingRegistryServiceListRequestIndexRuleBindingRegistryServiceListResponse
ExistIndexRuleBindingRegistryServiceExistRequestIndexRuleBindingRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead

IndexRuleRegistryService

Method NameRequest TypeResponse TypeDescription
CreateIndexRuleRegistryServiceCreateRequestIndexRuleRegistryServiceCreateResponse
UpdateIndexRuleRegistryServiceUpdateRequestIndexRuleRegistryServiceUpdateResponse
DeleteIndexRuleRegistryServiceDeleteRequestIndexRuleRegistryServiceDeleteResponse
GetIndexRuleRegistryServiceGetRequestIndexRuleRegistryServiceGetResponse
ListIndexRuleRegistryServiceListRequestIndexRuleRegistryServiceListResponse
ExistIndexRuleRegistryServiceExistRequestIndexRuleRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead

MeasureRegistryService

Method NameRequest TypeResponse TypeDescription
CreateMeasureRegistryServiceCreateRequestMeasureRegistryServiceCreateResponse
UpdateMeasureRegistryServiceUpdateRequestMeasureRegistryServiceUpdateResponse
DeleteMeasureRegistryServiceDeleteRequestMeasureRegistryServiceDeleteResponse
GetMeasureRegistryServiceGetRequestMeasureRegistryServiceGetResponse
ListMeasureRegistryServiceListRequestMeasureRegistryServiceListResponse
ExistMeasureRegistryServiceExistRequestMeasureRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead

NodeQueryService

Method NameRequest TypeResponse TypeDescription
GetCurrentNodeGetCurrentNodeRequestGetCurrentNodeResponse

PropertyRegistryService

Method NameRequest TypeResponse TypeDescription
CreatePropertyRegistryServiceCreateRequestPropertyRegistryServiceCreateResponse
UpdatePropertyRegistryServiceUpdateRequestPropertyRegistryServiceUpdateResponse
DeletePropertyRegistryServiceDeleteRequestPropertyRegistryServiceDeleteResponse
GetPropertyRegistryServiceGetRequestPropertyRegistryServiceGetResponse
ListPropertyRegistryServiceListRequestPropertyRegistryServiceListResponse
ExistPropertyRegistryServiceExistRequestPropertyRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead

SnapshotService

Method NameRequest TypeResponse TypeDescription
SnapshotSnapshotRequestSnapshotResponse

StreamRegistryService

Method NameRequest TypeResponse TypeDescription
CreateStreamRegistryServiceCreateRequestStreamRegistryServiceCreateResponse
UpdateStreamRegistryServiceUpdateRequestStreamRegistryServiceUpdateResponse
DeleteStreamRegistryServiceDeleteRequestStreamRegistryServiceDeleteResponse
GetStreamRegistryServiceGetRequestStreamRegistryServiceGetResponse
ListStreamRegistryServiceListRequestStreamRegistryServiceListResponse
ExistStreamRegistryServiceExistRequestStreamRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead

TopNAggregationRegistryService

Method NameRequest TypeResponse TypeDescription
CreateTopNAggregationRegistryServiceCreateRequestTopNAggregationRegistryServiceCreateResponse
UpdateTopNAggregationRegistryServiceUpdateRequestTopNAggregationRegistryServiceUpdateResponse
DeleteTopNAggregationRegistryServiceDeleteRequestTopNAggregationRegistryServiceDeleteResponse
GetTopNAggregationRegistryServiceGetRequestTopNAggregationRegistryServiceGetResponse
ListTopNAggregationRegistryServiceListRequestTopNAggregationRegistryServiceListResponse
ExistTopNAggregationRegistryServiceExistRequestTopNAggregationRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead

TraceRegistryService

Method NameRequest TypeResponse TypeDescription
CreateTraceRegistryServiceCreateRequestTraceRegistryServiceCreateResponse
UpdateTraceRegistryServiceUpdateRequestTraceRegistryServiceUpdateResponse
DeleteTraceRegistryServiceDeleteRequestTraceRegistryServiceDeleteResponse
GetTraceRegistryServiceGetRequestTraceRegistryServiceGetResponse
ListTraceRegistryServiceListRequestTraceRegistryServiceListResponse
ExistTraceRegistryServiceExistRequestTraceRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead

banyandb/fodc/v1/rpc.proto

Call

FieldTypeLabelDescription
idstring
targetstring
sourcestring

CrashBreadcrumb

FieldTypeLabelDescription
timegoogle.protobuf.Timestamp
stagestring
componentstring
fieldsCrashBreadcrumb.FieldsEntryrepeated

CrashBreadcrumb.FieldsEntry

FieldTypeLabelDescription
keystring
valuestring

CrashPanicRecord

FieldTypeLabelDescription
occurred_atgoogle.protobuf.Timestamp
componentstring
panic_valuestring
recoveredbool
goroutine_stackstring
breadcrumbsCrashBreadcrumbrepeated
process_metadataCrashPanicRecord.ProcessMetadataEntryrepeated

CrashPanicRecord.ProcessMetadataEntry

FieldTypeLabelDescription
keystring
valuestring

FetchPressureProfile

FieldTypeLabelDescription
request_idstringproxy-generated per fetch; echoed back in every PressureProfileChunk to correlate
profile_idstring
typestring"heap"
filepathstringthe absolute path the agent reported in PressureProfileInfo.filepath; agent opens it AFTER validating it is within --pressure-profiler-dir

GroupLifecycleInfo

FieldTypeLabelDescription
namestring
catalogstring
resource_optsbanyandb.common.v1.ResourceOpts
data_infobanyandb.database.v1.DataInforepeated
errorsstringrepeatederrors lists every failure observed while collecting data_info for this group: top-level CollectDataInfo failures (GetGroup, missing collector, dial failure -- prefixed "top-level: ") and per-node broadcast failures (prefixed "future error: ", "node error: ", "broadcast failed: "). Combined with len(data_info), consumers can tell the following four states apart: - data_info empty && errors empty -> no nodes reported (group inactive) - data_info empty && errors non-empty -> total failure - data_info non-empty && errors empty -> full success - data_info non-empty && errors non-empty -> partial failure

InspectAllRequest

InspectAllResponse

FieldTypeLabelDescription
groupsGroupLifecycleInforepeated

LifecycleData

FieldTypeLabelDescription
reportsLifecycleReportrepeated
groupsGroupLifecycleInforepeated

LifecycleReport

FieldTypeLabelDescription
filenamestring
report_jsonstring

ListComplete

Agent -> Proxy: sent once after all records for a ListProfiles request have been streamed (including the zero-record case), so the proxy knows the agent is done without waiting out a fixed window.

FieldTypeLabelDescription
request_idstringechoes ListProfiles.request_id

ListProfiles

Proxy -> Agent: stream all capture-event metadata for this request id.

FieldTypeLabelDescription
request_idstringproxy-generated per list; echoed back in ListComplete to correlate

Metric

FieldTypeLabelDescription
namestring
labelsMetric.LabelsEntryrepeated
valuedouble
descriptionstring
timestampgoogle.protobuf.Timestamp
typeMetricType

Metric.LabelsEntry

FieldTypeLabelDescription
keystring
valuestring

PressureProfileChunk

One slice of a profile's bytes during download.

FieldTypeLabelDescription
request_idstringechoes FetchPressureProfile.request_id -- correlates this chunk stream to its fetch
profile_idstring
typestring"heap"
databytesa bounded slice (e.g. <= 1MB)
lastbooltrue on the final chunk
errorstringnon-empty if the file cannot be served (e.g. evicted / not found)

PressureProfileInfo

One pprof profile inside a capture event (metadata only, no bytes).

FieldTypeLabelDescription
typestring"heap"
filenamestringbase name, e.g. "heap.pprof"
filepathstringabsolute path on the agent's disk, e.g. /tmp/pressure-profiles/20260627T101112.000000000Z/heap.pprof
formatstring"pprof" (gzip-compressed protobuf)
size_bytesint64on-disk size

PressureProfileRecord

Metadata for one capture event (no bytes). pod/role are NOT carried here: the proxy enriches them from the registered AgentIdentity, same as crash.

FieldTypeLabelDescription
profile_idstring= event directory name (UTC ns timestamp)
captured_atgoogle.protobuf.Timestamp
source_endpointstringpprof endpoint pulled, e.g. http://localhost:6060
rss_bytesuint64RSS at trigger (process_resident_memory_bytes); top-N sort key
cgroup_limit_bytesuint64cgroup memory.max
trigger_percentuint32configured threshold percent (e.g. 75)
threshold_bytesuint64cgroup_limit_bytes * trigger_percent / 100
profilesPressureProfileInforepeated

RegisterAgentRequest

FieldTypeLabelDescription
node_rolestring
labelsRegisterAgentRequest.LabelsEntryrepeated
pod_namestring
container_namesstringrepeated

RegisterAgentRequest.LabelsEntry

FieldTypeLabelDescription
keystring
valuestring

RegisterAgentResponse

FieldTypeLabelDescription
successbool
messagestring
heartbeat_interval_secondsint64
agent_idstring

StreamClusterTopologyRequest

FieldTypeLabelDescription
timestampgoogle.protobuf.Timestamp
topologyTopology

StreamClusterTopologyResponse

FieldTypeLabelDescription
request_topologyboolRequest topology from agent

StreamCrashDiagnosticsRequest

FieldTypeLabelDescription
fetched_atgoogle.protobuf.Timestamp
source_endpointstring
artifact_dirstring
panic_recordCrashPanicRecord
filesstringrepeated

StreamCrashDiagnosticsResponse

FieldTypeLabelDescription
request_diagnosticsboolRequest crash diagnostics from agent

StreamLifecycleRequest

FieldTypeLabelDescription
timestampgoogle.protobuf.Timestamp
pod_namestring
lifecycle_dataLifecycleData

StreamLifecycleResponse

FieldTypeLabelDescription
request_lifecyclebool

StreamMetricsRequest

FieldTypeLabelDescription
metricsMetricrepeated
timestampgoogle.protobuf.Timestamp

StreamMetricsResponse

FieldTypeLabelDescription
start_timegoogle.protobuf.TimestampOptional start time for time window
end_timegoogle.protobuf.TimestampOptional end time for time window

StreamPressureProfilesRequest

Agent -> Proxy: either a metadata record (answer to list_profiles) or a byte chunk (answer to fetch_profile).

FieldTypeLabelDescription
recordPressureProfileRecord
list_completeListComplete
chunkPressureProfileChunk

StreamPressureProfilesResponse

Proxy -> Agent: either "stream all your metadata" or "stream one profile's bytes".

FieldTypeLabelDescription
list_profilesListProfiles
fetch_profileFetchPressureProfile

Topology

FieldTypeLabelDescription
nodesbanyandb.database.v1.Noderepeated
callsCallrepeated

MetricType

MetricType represents the Prometheus metric type.

NameNumberDescription
METRIC_TYPE_UNSPECIFIED0
METRIC_TYPE_GAUGE1
METRIC_TYPE_COUNTER2
METRIC_TYPE_HISTOGRAM3
METRIC_TYPE_SUMMARY4
METRIC_TYPE_UNTYPED5

FODCService

Method NameRequest TypeResponse TypeDescription
RegisterAgentRegisterAgentRequest streamRegisterAgentResponse streamBi-directional stream for agent registration and heartbeat
StreamMetricsStreamMetricsRequest streamStreamMetricsResponse streamBi-directional stream for metrics Agent sends StreamMetricsRequest (metrics data), Proxy sends StreamMetricsResponse (metrics requests)
StreamClusterTopologyStreamClusterTopologyRequest streamStreamClusterTopologyResponse streamBi-directional stream for cluster topology
StreamLifecycleStreamLifecycleRequest streamStreamLifecycleResponse streamBi-directional stream for lifecycle data
StreamCrashDiagnosticsStreamCrashDiagnosticsRequest streamStreamCrashDiagnosticsResponse streamBi-directional stream for crash diagnostics Agent sends StreamCrashDiagnosticsRequest (panic collections), Proxy sends StreamCrashDiagnosticsResponse (requests)
StreamPressureProfilesStreamPressureProfilesRequest streamStreamPressureProfilesResponse streamBi-directional stream for memory-pressure pprof profiles. Proxy drives via StreamPressureProfilesResponse (list metadata, or fetch one profile's bytes); agent replies with StreamPressureProfilesRequest (metadata records, or binary chunks).

GroupLifecycleService

GroupLifecycleService provides group lifecycle information from liaison nodes. Registered on the internal gRPC server so FODC agent can access it.

Method NameRequest TypeResponse TypeDescription
InspectAllInspectAllRequestInspectAllResponseInspectAll lists all groups and returns their full lifecycle info in one call.

banyandb/measure/v1/write.proto

DataPointSpec

DataPointSpec defines the specification of a data point.

FieldTypeLabelDescription
tag_family_specTagFamilySpecrepeatedthe tag family specification
field_namesstringrepeatedthe field names

DataPointValue

DataPointValue is the data point for writing. It only contains values.

FieldTypeLabelDescription
timestampgoogle.protobuf.Timestamptimestamp is in the timeunit of milliseconds.
tag_familiesbanyandb.model.v1.TagFamilyForWriterepeatedthe order of tag_families' items match DataPointSpec
fieldsbanyandb.model.v1.FieldValuerepeatedthe order of fields match DataPointSpec
versionint64the version of the data point

InternalWriteRequest

FieldTypeLabelDescription
shard_iduint32
entity_valuesbanyandb.model.v1.TagValuerepeated
requestWriteRequest

TagFamilySpec

TagFamilySpec defines the specification of a tag family.

FieldTypeLabelDescription
namestringname of the tag family
tag_namesstringrepeatednames of tags in the tag family

WriteRequest

WriteRequest is the request contract for write

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatathe metadata is required only for the first request of gRPC stream.
data_pointDataPointValuethe data_point is required.
message_iduint64the message_id is required.
data_point_specDataPointSpecthe data point specification. If this is not set with the indicated metadata, use the schema definition. If this is not set, use the existing spec declaration from previous requests in the current gRPC stream.

WriteResponse

WriteResponse is the response contract for write

FieldTypeLabelDescription
message_iduint64the message_id from request.
statusstringstatus indicates the request processing result
metadatabanyandb.common.v1.Metadatathe metadata from request when request fails

banyandb/measure/v1/rpc.proto

DeleteExpiredSegmentsRequest

FieldTypeLabelDescription
groupstring
segment_suffixesstringrepeated

DeleteExpiredSegmentsResponse

FieldTypeLabelDescription
deletedint64

MeasureService

Method NameRequest TypeResponse TypeDescription
QueryQueryRequestQueryResponse
InternalQueryInternalQueryRequestInternalQueryResponseInternalQuery is used for internal distributed query between liaison and data nodes. Returns InternalQueryResponse with shard information for proper deduplication.
WriteWriteRequest streamWriteResponse stream
TopNTopNRequestTopNResponse
DeleteExpiredSegmentsDeleteExpiredSegmentsRequestDeleteExpiredSegmentsResponse

banyandb/pipeline/v1/trace_pipeline.proto

TracePipelineRegistryServiceCreateRequest

FieldTypeLabelDescription
trace_pipeline_configbanyandb.common.v1.TracePipelineConfig

TracePipelineRegistryServiceCreateResponse

FieldTypeLabelDescription
mod_revisionint64

TracePipelineRegistryServiceDeleteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TracePipelineRegistryServiceDeleteResponse

FieldTypeLabelDescription
deletedbool
delete_timeint64delete_time is the server-assigned tombstone timestamp in unix nanos.
mod_revisionint64mod_revision is the revision of the tombstone; zero if the server did not record one.

TracePipelineRegistryServiceExistRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TracePipelineRegistryServiceExistResponse

FieldTypeLabelDescription
has_groupbool
has_trace_pipeline_configbool

TracePipelineRegistryServiceGetRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata

TracePipelineRegistryServiceGetResponse

FieldTypeLabelDescription
trace_pipeline_configbanyandb.common.v1.TracePipelineConfig

TracePipelineRegistryServiceListRequest

FieldTypeLabelDescription
groupstring

TracePipelineRegistryServiceListResponse

FieldTypeLabelDescription
trace_pipeline_configbanyandb.common.v1.TracePipelineConfigrepeated

TracePipelineRegistryServiceUpdateRequest

FieldTypeLabelDescription
trace_pipeline_configbanyandb.common.v1.TracePipelineConfig

TracePipelineRegistryServiceUpdateResponse

FieldTypeLabelDescription
mod_revisionint64

TracePipelineRegistryService

TracePipelineRegistryService manages TracePipelineConfig resources, mirroring the registry services of every other schema resource. Create/Update run the admission and conflict checks of §2.3/§2.4 of the design.

Method NameRequest TypeResponse TypeDescription
CreateTracePipelineRegistryServiceCreateRequestTracePipelineRegistryServiceCreateResponse
UpdateTracePipelineRegistryServiceUpdateRequestTracePipelineRegistryServiceUpdateResponse
DeleteTracePipelineRegistryServiceDeleteRequestTracePipelineRegistryServiceDeleteResponse
GetTracePipelineRegistryServiceGetRequestTracePipelineRegistryServiceGetResponse
ListTracePipelineRegistryServiceListRequestTracePipelineRegistryServiceListResponse
ExistTracePipelineRegistryServiceExistRequestTracePipelineRegistryServiceExistResponseExist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead.

banyandb/property/v1/gossip.proto

PropagationContext

FieldTypeLabelDescription
nodesstringrepeated
max_propagation_countint32
current_propagation_countint32
origin_nodestring

PropagationRequest

FieldTypeLabelDescription
contextPropagationContext
trace_contextPropagationTraceContext
groupstring
shard_iduint32

PropagationResponse

PropagationTraceContext

FieldTypeLabelDescription
trace_idstring
parent_span_idstring

GossipService

Method NameRequest TypeResponse TypeDescription
PropagationPropagationRequestPropagationResponsePropagation is used to propagate messages across nodes in the cluster.

banyandb/property/v1/repair.proto

DifferTreeSummary

FieldTypeLabelDescription
nodesTreeLeafNoderepeatedif the nodes is empty, mean the server side don't have more tree leaf nodes to send.

PropertyMissing

FieldTypeLabelDescription
entitystring

PropertySync

FieldTypeLabelDescription
idbytes
propertyProperty
delete_timeint64

PropertySyncWithFrom

FieldTypeLabelDescription
fromPropertySyncFromType
propertyPropertySync

RepairRequest

FieldTypeLabelDescription
tree_rootTreeRootcompare stage
tree_slotsTreeSlots
property_missingPropertyMissingrepair stage case 1: client missing but server existing
property_syncPropertySynccase 2: client existing but server missing case 3: SHA value mismatches
wait_next_differWaitNextDifferDatawait next differ tree summary for process

RepairResponse

FieldTypeLabelDescription
root_compareRootComparecompare stage
differ_tree_summaryDifferTreeSummary
property_syncPropertySyncWithFromrepair stage case 1: return from PropertyMissing case 3: return if the client is older

RootCompare

FieldTypeLabelDescription
tree_foundbool
root_sha_matchbool

TreeLeafNode

FieldTypeLabelDescription
slot_indexint32slot_index is the index of the slot in the tree.
existsboolif the slot is empty, means the server side don't have the slot.
entitystringif the slot and entity exists, the SHA value of the entity.
shastring

TreeRoot

FieldTypeLabelDescription
groupstring
shard_iduint32
root_shastring

TreeSlotSHA

FieldTypeLabelDescription
slotint32
valuestring

TreeSlots

FieldTypeLabelDescription
slot_shaTreeSlotSHArepeated

WaitNextDifferData

PropertySyncFromType

NameNumberDescription
PROPERTY_SYNC_FROM_TYPE_UNSPECIFIED0
PROPERTY_SYNC_FROM_TYPE_MISSING1client missing but server existing
PROPERTY_SYNC_FROM_TYPE_SYNC2client existing but server missing or SHA value mismatches

RepairService

Method NameRequest TypeResponse TypeDescription
RepairRepairRequest streamRepairResponse stream

banyandb/schema/v1/internal.proto

DeleteSchemaRequest

FieldTypeLabelDescription
deletebanyandb.property.v1.DeleteRequest
update_atgoogle.protobuf.TimestampUpdate the update time for notification

DeleteSchemaResponse

FieldTypeLabelDescription
foundbool

InsertSchemaRequest

FieldTypeLabelDescription
propertybanyandb.property.v1.Property

InsertSchemaResponse

ListSchemasRequest

FieldTypeLabelDescription
querybanyandb.property.v1.QueryRequest

ListSchemasResponse

FieldTypeLabelDescription
propertiesbanyandb.property.v1.Propertyrepeated
delete_timesint64repeateddelete_times maps to properties in the same order. 0 means not deleted, >0 means deletion timestamp.

RepairSchemaRequest

FieldTypeLabelDescription
propertybanyandb.property.v1.Property
delete_timeint64

RepairSchemaResponse

UpdateSchemaRequest

FieldTypeLabelDescription
propertybanyandb.property.v1.Property

UpdateSchemaResponse

WatchSchemasRequest

FieldTypeLabelDescription
criteriabanyandb.model.v1.Criteria
tag_projectionstringrepeated

WatchSchemasResponse

FieldTypeLabelDescription
event_typeSchemaEventType
propertybanyandb.property.v1.Property
metadata_onlybool
delete_timeint64

SchemaEventType

NameNumberDescription
SCHEMA_EVENT_TYPE_UNSPECIFIED0
SCHEMA_EVENT_TYPE_INSERT1
SCHEMA_EVENT_TYPE_UPDATE2
SCHEMA_EVENT_TYPE_DELETE3
SCHEMA_EVENT_TYPE_REPLAY_DONE4

SchemaManagementService

Method NameRequest TypeResponse TypeDescription
InsertSchemaInsertSchemaRequestInsertSchemaResponse
UpdateSchemaUpdateSchemaRequestUpdateSchemaResponse
ListSchemasListSchemasRequestListSchemasResponse stream
DeleteSchemaDeleteSchemaRequestDeleteSchemaResponse
RepairSchemaRepairSchemaRequestRepairSchemaResponse

SchemaUpdateService

Method NameRequest TypeResponse TypeDescription
WatchSchemasWatchSchemasRequest streamWatchSchemasResponse stream

banyandb/stream/v1/write.proto

ElementValue

FieldTypeLabelDescription
element_idstringelement_id could be span_id of a Span or segment_id of a Segment in the context of stream
timestampgoogle.protobuf.Timestamptimestamp is in the timeunit of milliseconds. It represents 1) either the start time of a Span/Segment, 2) or the timestamp of a log
tag_familiesbanyandb.model.v1.TagFamilyForWriterepeatedthe order of tag_families' items match TagFamilySpec

InternalWriteRequest

FieldTypeLabelDescription
shard_iduint32
entity_valuesbanyandb.model.v1.TagValuerepeated
requestWriteRequest
raw_element_iduint64raw_element_id carries the original storage-internal eID (an already-hashed uint64) forwarded by lifecycle row-replay. When non-zero, the receiver uses it directly and skips the HashStr step on element.element_id, so a logical element migrated through both chunk-sync and row-replay paths keeps the same target-side eID and query-layer dedup stays consistent. SDK and topN write paths leave this unset (0).

TagFamilySpec

TagFamilySpec defines the specification of a tag family.

FieldTypeLabelDescription
namestringname of the tag family
tag_namesstringrepeatednames of tags in the tag family

WriteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadatathe metadata is required only for the first request of gRPC stream.
elementElementValuethe element is required.
message_iduint64the message_id is required.
tag_family_specTagFamilySpecrepeatedthe tag family specification. If this is not set with the indicated metadata, use the schema definition. If this is not set, use the existing spec declaration from previous requests in the current gRPC stream.

WriteResponse

FieldTypeLabelDescription
message_iduint64the message_id from request.
statusstringstatus indicates the request processing result
metadatabanyandb.common.v1.Metadatathe metadata from request when request fails

banyandb/stream/v1/rpc.proto

DeleteExpiredSegmentsRequest

FieldTypeLabelDescription
groupstring
segment_suffixesstringrepeated

DeleteExpiredSegmentsResponse

FieldTypeLabelDescription
deletedint64

StreamService

Method NameRequest TypeResponse TypeDescription
QueryQueryRequestQueryResponse
WriteWriteRequest streamWriteResponse stream
DeleteExpiredSegmentsDeleteExpiredSegmentsRequestDeleteExpiredSegmentsResponse

banyandb/trace/v1/write.proto

InternalWriteRequest

FieldTypeLabelDescription
shard_iduint32
requestWriteRequest

TagSpec

FieldTypeLabelDescription
tag_namesstringrepeated

WriteRequest

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata
tagsbanyandb.model.v1.TagValuerepeated
spanbytes
versionuint64
tag_specTagSpec

WriteResponse

FieldTypeLabelDescription
metadatabanyandb.common.v1.Metadata
versionuint64
statusstring

banyandb/trace/v1/rpc.proto

DeleteExpiredSegmentsRequest

FieldTypeLabelDescription
groupstring
segment_suffixesstringrepeated

DeleteExpiredSegmentsResponse

FieldTypeLabelDescription
deletedint64

TraceService

Method NameRequest TypeResponse TypeDescription
QueryQueryRequestQueryResponse
WriteWriteRequest streamWriteResponse stream
DeleteExpiredSegmentsDeleteExpiredSegmentsRequestDeleteExpiredSegmentsResponse

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)