← Back to packages

Package sentry_protos.snuba.v1

Message AttributeKey

Message VirtualColumnContext

Message StrArray

Message IntArray

Message FloatArray

Message DoubleArray

Message AttributeValue

Message AttributeAggregation

Message AndFilter

Message OrFilter

Message NotFilter

Message ComparisonFilter

Message ExistsFilter

Message TraceItemFilter

Message AttributeConditionalAggregation

Message RequestMeta

Message ResponseMeta

Message PageToken

Message QueryStats

Message QueryMetadata

Message TimingMarks

Message QueryInfo

Message TimeSeriesRequest

Message BinaryFormula

Message Expression

Message DataPoint

Message TimeSeries

Message TimeSeriesResponse

Message CreateSubscriptionRequest

Message CreateSubscriptionResponse

Message TracePageToken

Message FindTracesRequest

Message TraceResponse

Message FindTracesResponse

Message EventFilter

Message AndTraceFilter

Message OrTraceFilter

Message NotTraceFilter

Message TraceFilter

Message TraceItem

Message GetTraceRequest

Message Attribute

Message Item

Message ItemGroup

Message GetTraceResponse

Message TraceAttribute

Message OrderBy

Message TraceFilter

Message GetTracesRequest

Message Trace

Message GetTracesResponse

Message TraceItemAttributeNamesRequest

Message Attribute

Message TraceItemAttributeNamesResponse

Message TraceItemAttributeValuesRequest

Message TraceItemAttributeValuesResponse

Message TraceItemDetailsRequest

Message TraceItemDetailsAttribute

Message TraceItemDetailsResponse

Message AttributeDistributionsRequest

Message StatsType

Message TraceItemStatsRequest

Message Bucket

Message AttributeDistribution

Message AttributeDistributions

Message TraceItemStatsResult

Message TraceItemStatsResponse

Message OrderBy

Message TraceItemTableRequest

Message AggregationAndFilter

Message AggregationOrFilter

Message AggregationComparisonFilter

Message AggregationFilter

Message BinaryFormula

Message Column

Message TraceItemColumnValues

Message TraceItemTableResponse

Message CreateTraceItemTableSubscriptionRequest

Message CreateTraceItemTableSubscriptionResponse

Message Error

Enum Function

Enum ExtrapolationMode

Enum Reliability

Enum Type

Enum Op

Enum TraceItemName

Enum TraceItemType

Enum Op

Enum TraceOrderBy

Enum Key

Enum Op

Enum Op

Messages

message AttributeKey sentry_protos/snuba/v1/trace_item_attribute.proto

Field Type Description
1 type sentry_protos.snuba.v1.AttributeKey.Type
2 name string

the name of the trace item attribute, everything that sentry sends by default is prefixed with
sentry. to allow users to send attributes of the same name.
Exampe: sentry.duration, sentry.span_id etc

message VirtualColumnContext sentry_protos/snuba/v1/trace_item_attribute.proto

custom mappings of column values

for example, project_name is changeable by the user and not stored in EAP,
but sorting by it may be desired. So something like this might be done:

ORDER BY sentry.project_name
VirtualColumnContext(
from_column_name="sentry.project_id",
to_column_name="sentry.project_name",
value_map={"1": "sentry", "2": "snuba"},
)

in this example sentry.project_name is a virtual column created by mapping
values from the real column sentry.project_id to new values. project_id of 1
gets mapped to project_name="sentry" etc.

Field Type Description
1 from_column_name string
2 to_column_name string
3 value_map map<string, string>
4 default_value string

message StrArray sentry_protos/snuba/v1/trace_item_attribute.proto

Field Type Description
1 values repeated string

message IntArray sentry_protos/snuba/v1/trace_item_attribute.proto

Field Type Description
1 values repeated int64

message FloatArray sentry_protos/snuba/v1/trace_item_attribute.proto

DEPRECATED, use DoubleArray instead

Field Type Description
1 values repeated float

message DoubleArray sentry_protos/snuba/v1/trace_item_attribute.proto

Field Type Description
1 values repeated double

message AttributeValue sentry_protos/snuba/v1/trace_item_attribute.proto

Field Type Description
11 is_null bool

true if the value is null

oneof value
1 val_bool bool
2 val_str string
3 val_float float

deprecated, use val_double instead

4 val_int int64
5 val_null bool

set to true if value is null

6 val_str_array sentry_protos.snuba.v1.StrArray
7 val_int_array sentry_protos.snuba.v1.IntArray
8 val_float_array sentry_protos.snuba.v1.FloatArray

deprecated, use val_double_array instead

9 val_double double
10 val_double_array sentry_protos.snuba.v1.DoubleArray

message AttributeAggregation sentry_protos/snuba/v1/trace_item_attribute.proto

Field Type Description
1 aggregate sentry_protos.snuba.v1.Function
2 key sentry_protos.snuba.v1.AttributeKey
3 label string
4 extrapolation_mode sentry_protos.snuba.v1.ExtrapolationMode

message AndFilter sentry_protos/snuba/v1/trace_item_filter.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.TraceItemFilter

message OrFilter sentry_protos/snuba/v1/trace_item_filter.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.TraceItemFilter

message NotFilter sentry_protos/snuba/v1/trace_item_filter.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.TraceItemFilter

message ComparisonFilter sentry_protos/snuba/v1/trace_item_filter.proto

Field Type Description
1 key sentry_protos.snuba.v1.AttributeKey
2 op sentry_protos.snuba.v1.ComparisonFilter.Op
3 value sentry_protos.snuba.v1.AttributeValue
4 ignore_case bool

optional, if set will ignore case for string comparisons

message ExistsFilter sentry_protos/snuba/v1/trace_item_filter.proto

Field Type Description
1 key sentry_protos.snuba.v1.AttributeKey

message TraceItemFilter sentry_protos/snuba/v1/trace_item_filter.proto

a condition used to filter for matching "trace items"

ex: "exists span.duration" would mean
"only give me trace items that have the attribute 'span.duration'"

( traces contain trace items,
eg. trace items are: span, replay, error, etc,
trace items contain attributes like 'span.duration' )

Field Type Description
oneof value
1 and_filter sentry_protos.snuba.v1.AndFilter
2 or_filter sentry_protos.snuba.v1.OrFilter
3 not_filter sentry_protos.snuba.v1.NotFilter
4 comparison_filter sentry_protos.snuba.v1.ComparisonFilter
5 exists_filter sentry_protos.snuba.v1.ExistsFilter

message AttributeConditionalAggregation sentry_protos/snuba/v1/attribute_conditional_aggregation.proto

Field Type Description
1 aggregate sentry_protos.snuba.v1.Function
2 key sentry_protos.snuba.v1.AttributeKey
3 label string
4 extrapolation_mode sentry_protos.snuba.v1.ExtrapolationMode
5 filter sentry_protos.snuba.v1.TraceItemFilter

message RequestMeta sentry_protos/snuba/v1/request_common.proto

Field Type Description
1 organization_id uint64

id of the organization we are querying data for

2 cogs_category string

used for logging and metrics, ex: "snuba_admin", "eap", "replays", etc

3 referrer string

identifier for where the request is coming from
ex: "api.profiling.landing-chart", "api.replay.details-page"

4 project_ids repeated uint64

ids of the projects we are querying data for

5 start_timestamp google.protobuf.Timestamp

start timestamp we want to query data for

6 end_timestamp google.protobuf.Timestamp

end timestamp we want to query data for

7 trace_item_name sentry_protos.snuba.v1.TraceItemName

DEPRECATED (not implemented) - use trace_item_type instead

8 trace_item_type sentry_protos.snuba.v1.TraceItemType

the type of the trace item you are querying

10 debug bool

whether to include debug information in the response

11 request_id string

a unique identifier for the request, user doesnt need to set this

message ResponseMeta sentry_protos/snuba/v1/request_common.proto

Field Type Description
1 request_id string

id of the request that this response relates to

2 query_info repeated sentry_protos.snuba.v1.QueryInfo

Optional field that is included only if debug is true

message PageToken sentry_protos/snuba/v1/request_common.proto

Field Type Description
oneof value
1 offset uint64

standard limit/offset pagination

2 filter_offset sentry_protos.snuba.v1.TraceItemFilter

Instead of using offset (which requires all the scanning and ordering),
the server sends back a filter clause to be added on to the filter conditions
which skips the previous results altogether, avoiding extra scanning and sorting

message QueryStats sentry_protos/snuba/v1/request_common.proto

Field Type Description
1 rows_read int64
2 columns_read int64
4 blocks int32
5 progress_bytes int64
8 max_threads int32
11 timing_marks sentry_protos.snuba.v1.TimingMarks

message QueryMetadata sentry_protos/snuba/v1/request_common.proto

Field Type Description
1 sql string
2 status string
3 clickhouse_table string
4 final bool
6 query_id string
7 consistent bool
9 cache_hit bool
10 cluster_name string

message TimingMarks sentry_protos/snuba/v1/request_common.proto

Field Type Description
1 duration_ms int64
2 marks_ms map<string, int64>
3 tags map<string, string>
4 timestamp int64

message QueryInfo sentry_protos/snuba/v1/request_common.proto

Field Type Description
1 stats sentry_protos.snuba.v1.QueryStats
2 metadata sentry_protos.snuba.v1.QueryMetadata
3 trace_logs string

message TimeSeriesRequest sentry_protos/snuba/v1/endpoint_time_series.proto

This is a request to the TimeSeries endpoint,
it is used to do a timeseries aggregation of a given attribute
across traces.

ex: avg(span.duration) group by db.system
this (conceptually) will return a 2d graph where y-axis is avg(span.duration),
x-axis is time, and there is a separate line/function on the graph for each db.system value

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta

metadata about the request
used to filter time range, organization, project, etc.

2 filter sentry_protos.snuba.v1.TraceItemFilter

filters out spans (TraceItems) that dont meet the criteria
ex: avg(span.duration) where span.environment = 'production'

3 aggregations repeated sentry_protos.snuba.v1.AttributeAggregation

deprecated, please use expressions instead

6 expressions repeated sentry_protos.snuba.v1.Expression

the actual aggregation to compute ex: avg(span.duration) or avg(span.duration) / sum(span.duration)

4 granularity_secs uint64

the level of detail in the timeseries graph,
low granularity is very detailed, high is less detail.
ex: if granularity is 1s you will have a data point every 1s,
if its 1m you have a data point every 1m
tip: for performance, if the query is is over a large time period you should
have high granularity

5 group_by repeated sentry_protos.snuba.v1.AttributeKey

attribute key to group by
ex: span.environment might give 3 timeseries lines,
one for prod, one for dev etc

message BinaryFormula (Nested in sentry_protos.snuba.v1.Expression ) sentry_protos/snuba/v1/endpoint_time_series.proto

Field Type Description
1 op sentry_protos.snuba.v1.Expression.BinaryFormula.Op
2 left sentry_protos.snuba.v1.Expression
3 right sentry_protos.snuba.v1.Expression

message Expression sentry_protos/snuba/v1/endpoint_time_series.proto

Field Type Description
3 label string
oneof expression
1 aggregation sentry_protos.snuba.v1.AttributeAggregation
2 formula sentry_protos.snuba.v1.Expression.BinaryFormula
4 conditional_aggregation sentry_protos.snuba.v1.AttributeConditionalAggregation

message DataPoint sentry_protos/snuba/v1/endpoint_time_series.proto

Field Type Description
1 data float
2 data_present bool

false if this datapoint is empty, true otherwise.
optional, if not set assume true.
used for sparse time series

3 avg_sampling_rate float

only set for extrapolated data points, 0 otherwise
the extrapolated avg sampling rate for this data point

4 is_reliable bool

deprecated

5 reliability sentry_protos.snuba.v1.Reliability

the reliability of the data value based on math based on confidence intervals and sample size

6 sample_count int64

the sample count for this data point

message TimeSeries sentry_protos/snuba/v1/endpoint_time_series.proto

Field Type Description
1 label string
2 group_by_attributes map<string, string>

the names and values of the attribute keys which
were in the group by

3 buckets repeated google.protobuf.Timestamp

time bucket for each data point in the timeseries

4 data_points repeated sentry_protos.snuba.v1.DataPoint
5 num_events uint64

number of events used to calculate this timeseries

6 avg_sampling_rate float

deprecated

message TimeSeriesResponse sentry_protos/snuba/v1/endpoint_time_series.proto

This is the response from the TimeSeries endpoint,
it is the counterpart of TimeSeriesRequest

Field Type Description
1 result_timeseries repeated sentry_protos.snuba.v1.TimeSeries
5 meta sentry_protos.snuba.v1.ResponseMeta

message CreateSubscriptionRequest sentry_protos/snuba/v1/endpoint_create_subscription.proto

Field Type Description
1 time_series_request sentry_protos.snuba.v1.TimeSeriesRequest
2 time_window_secs uint32
3 resolution_secs uint32

message CreateSubscriptionResponse sentry_protos/snuba/v1/endpoint_create_subscription.proto

Field Type Description
1 subscription_id string

message TracePageToken sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
oneof value
1 offset uint64
2 event_filter sentry_protos.snuba.v1.EventFilter

Instead of using offset (which requires all the scanning and ordering),
the server sends back a filter clause to be added on to the filter conditions
which skips the previous results altogether, avoiding extra scanning and sorting

3 trace_filter sentry_protos.snuba.v1.TraceFilter

message FindTracesRequest sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta
2 filter sentry_protos.snuba.v1.TraceFilter
3 page_token sentry_protos.snuba.v1.TracePageToken
4 order_by sentry_protos.snuba.v1.TraceOrderBy

message TraceResponse sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
1 trace_id string
5 start_timestamp google.protobuf.Timestamp
6 end_timestamp google.protobuf.Timestamp

message FindTracesResponse sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
1 traces repeated sentry_protos.snuba.v1.TraceResponse
2 page_token sentry_protos.snuba.v1.TracePageToken

message EventFilter sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
1 trace_item_name sentry_protos.snuba.v1.TraceItemName
2 filter sentry_protos.snuba.v1.TraceItemFilter

message AndTraceFilter sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.TraceFilter

message OrTraceFilter sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.TraceFilter

message NotTraceFilter sentry_protos/snuba/v1/endpoint_find_traces.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.TraceFilter

message TraceFilter sentry_protos/snuba/v1/endpoint_find_traces.proto

Represents a set of conditions for finding particular events
in a trace. Each EventFilter is meant to find one particular
type of event. Those can then be combined to find traces that
contain different combinations of events.

Field Type Description
oneof filter
1 and_filter sentry_protos.snuba.v1.AndTraceFilter
2 or_filter sentry_protos.snuba.v1.OrTraceFilter
3 not_filter sentry_protos.snuba.v1.NotTraceFilter
4 event_filter sentry_protos.snuba.v1.EventFilter

message TraceItem (Nested in sentry_protos.snuba.v1.GetTraceRequest ) sentry_protos/snuba/v1/endpoint_get_trace.proto

Field Type Description
1 type sentry_protos.snuba.v1.TraceItemName

DEPRECATED: use item_type instead

2 attributes repeated sentry_protos.snuba.v1.AttributeKey

If attributes is empty, all attributes will be returned for this type.

3 item_type sentry_protos.snuba.v1.TraceItemType

message GetTraceRequest sentry_protos/snuba/v1/endpoint_get_trace.proto

GetTraceRequest lets you query a trace by trace_id, returning all its items.

Each item will return every attributes by default or you can pass a list of
attributes to return for each item type.

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta
2 trace_id string
3 items repeated sentry_protos.snuba.v1.GetTraceRequest.TraceItem

A list of items and their attributes to return in the response.

message Attribute (Nested in sentry_protos.snuba.v1.GetTraceResponse.Item ) sentry_protos/snuba/v1/endpoint_get_trace.proto

Field Type Description
1 key sentry_protos.snuba.v1.AttributeKey
2 value sentry_protos.snuba.v1.AttributeValue

message Item (Nested in sentry_protos.snuba.v1.GetTraceResponse ) sentry_protos/snuba/v1/endpoint_get_trace.proto

Field Type Description
1 id string
2 timestamp google.protobuf.Timestamp
3 attributes repeated sentry_protos.snuba.v1.GetTraceResponse.Item.Attribute

message ItemGroup (Nested in sentry_protos.snuba.v1.GetTraceResponse ) sentry_protos/snuba/v1/endpoint_get_trace.proto

ItemGroup is a list of items of a specific type.

Field Type Description
1 type sentry_protos.snuba.v1.TraceItemName

DEPRECATED: use item_type instead

2 items repeated sentry_protos.snuba.v1.GetTraceResponse.Item
3 item_type sentry_protos.snuba.v1.TraceItemType

message GetTraceResponse sentry_protos/snuba/v1/endpoint_get_trace.proto

GetTraceResponse returns a trace and all its items.

Field Type Description
1 trace_id string
2 meta sentry_protos.snuba.v1.ResponseMeta
3 item_groups repeated sentry_protos.snuba.v1.GetTraceResponse.ItemGroup

message TraceAttribute sentry_protos/snuba/v1/endpoint_get_traces.proto

TraceAttribute represents the attribute of a trace.

Field Type Description
1 key sentry_protos.snuba.v1.TraceAttribute.Key
2 value sentry_protos.snuba.v1.AttributeValue
3 type sentry_protos.snuba.v1.AttributeKey.Type

AttributeKey.Type will specify the type of the attribute we return.
It does not need to be sent when requesting an attribute.

message OrderBy (Nested in sentry_protos.snuba.v1.GetTracesRequest ) sentry_protos/snuba/v1/endpoint_get_traces.proto

Field Type Description
1 key sentry_protos.snuba.v1.TraceAttribute.Key
2 descending bool

message TraceFilter (Nested in sentry_protos.snuba.v1.GetTracesRequest ) sentry_protos/snuba/v1/endpoint_get_traces.proto

TraceFilter specifies conditions to apply on the items contained in a trace.

Field Type Description
1 item_name sentry_protos.snuba.v1.TraceItemName

DEPRECATED: use item_type

2 filter sentry_protos.snuba.v1.TraceItemFilter
3 item_type sentry_protos.snuba.v1.TraceItemType

the item type we will apply the filter condition on.

message GetTracesRequest sentry_protos/snuba/v1/endpoint_get_traces.proto

GetTracesRequest lets you query traces with various attributes.

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta
2 page_token sentry_protos.snuba.v1.PageToken
3 limit uint32
4 filters repeated sentry_protos.snuba.v1.GetTracesRequest.TraceFilter

List of filters on items of the trace we'll use when querying.

5 order_by repeated sentry_protos.snuba.v1.GetTracesRequest.OrderBy

List of attributes we'd like to order by.

6 attributes repeated sentry_protos.snuba.v1.TraceAttribute

List of attributes we want to query.

message Trace (Nested in sentry_protos.snuba.v1.GetTracesResponse ) sentry_protos/snuba/v1/endpoint_get_traces.proto

Field Type Description
1 attributes repeated sentry_protos.snuba.v1.TraceAttribute

List of attributes queried.

message GetTracesResponse sentry_protos/snuba/v1/endpoint_get_traces.proto

GetTracesResponse contains a list of traces returned by the request.

Field Type Description
1 page_token sentry_protos.snuba.v1.PageToken
2 meta sentry_protos.snuba.v1.ResponseMeta
3 traces repeated sentry_protos.snuba.v1.GetTracesResponse.Trace

List of traces matching conditions.

message TraceItemAttributeNamesRequest sentry_protos/snuba/v1/endpoint_trace_item_attributes.proto

TraceItemAttributeNamesRequest is a request to the TraceItemAttributeNames endpoint,
it returns the names of all queryable "TraceItemAttributes" that exist in the given projects,
date range, and other filters.

TraceItem are things like: span, error, log, replay
TraceItemAttributes could be things like: sentry.duration,user_id cart_total, etc.

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta

metadata about the request
this is where you specify organization, project, time range etc.

2 limit uint32

maximum number of attributes to return

3 offset uint32

offset is deprecated, please use page_token instead

5 type sentry_protos.snuba.v1.AttributeKey.Type

The type of the attributes to return, must be specified,
only TYPE_STRING and TYPE_FLOAT are supported, anything else will return empty response

6 value_substring_match string

optionalfilter to only return attribute names that match the given substring

7 page_token sentry_protos.snuba.v1.PageToken

optional, used for pagination, the next page token will be returned in the response

message Attribute (Nested in sentry_protos.snuba.v1.TraceItemAttributeNamesResponse ) sentry_protos/snuba/v1/endpoint_trace_item_attributes.proto

Field Type Description
1 name string
2 type sentry_protos.snuba.v1.AttributeKey.Type

message TraceItemAttributeNamesResponse sentry_protos/snuba/v1/endpoint_trace_item_attributes.proto

TraceItemAttributeNamesResponse is the response returned by the TraceItemAttributeNames endpoint.
It is the counterpart to TraceItemAttributeNamesRequest.

Field Type Description
1 attributes repeated sentry_protos.snuba.v1.TraceItemAttributeNamesResponse.Attribute

all attributes that matched the filters in the request

2 page_token sentry_protos.snuba.v1.PageToken

page token for the next page of results

3 meta sentry_protos.snuba.v1.ResponseMeta

metadata about the response

message TraceItemAttributeValuesRequest sentry_protos/snuba/v1/endpoint_trace_item_attributes.proto

TraceItemAttributeValuesRequest is a request to the TraceItemAttributeValues endpoint,
it returns the set of all possible values for the given attribute key, across the given
organization, project_id, timerange etc (specified in meta).

This endpoint only supports string values, it does not make sense
to get all the possible values of a numerical attribute

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta

metadata about the request
this is where you specify organization, project, time range etc.

2 key sentry_protos.snuba.v1.AttributeKey

attribute you want the values of

3 name string

deprecated, please use the key field instead

4 value_substring_match string

a substring of the value being searched for,
only values matching this substring will be returned.
only strict substring supported, no regex

5 limit uint32

max number of values to return

6 page_token sentry_protos.snuba.v1.PageToken

optional, used for pagination, the next page token will be returned in the response

message TraceItemAttributeValuesResponse sentry_protos/snuba/v1/endpoint_trace_item_attributes.proto

TraceItemAttributeValuesResponse is a response from the TraceItemAttributeValues endpoint
it is the counterpart to TraceItemAttributesRequest

Field Type Description
1 values repeated string

all the values that matched the criteria specified in the request

6 page_token sentry_protos.snuba.v1.PageToken

page token for the next page of results

7 meta sentry_protos.snuba.v1.ResponseMeta

metadata about the response

message TraceItemDetailsRequest sentry_protos/snuba/v1/endpoint_trace_item_details.proto

This is a request to the TraceItemDetails endpoint,
it is used to query for TraceItems (ex. spans or logs)
it returns all of the information for a specific trace item.

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta
2 item_id string

required: the ID (hex string) of the item you are looking for

3 filter sentry_protos.snuba.v1.TraceItemFilter

message TraceItemDetailsAttribute sentry_protos/snuba/v1/endpoint_trace_item_details.proto

Field Type Description
1 name string
2 value sentry_protos.snuba.v1.AttributeValue

message TraceItemDetailsResponse sentry_protos/snuba/v1/endpoint_trace_item_details.proto

this is a response from the TraceItemDetails endpoint

Field Type Description
1 item_id string
2 timestamp google.protobuf.Timestamp
3 attributes repeated sentry_protos.snuba.v1.TraceItemDetailsAttribute
4 meta sentry_protos.snuba.v1.ResponseMeta

message AttributeDistributionsRequest sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

Field Type Description
1 max_buckets uint32

max_buckets and limit wouldn't apply to other stats types (like totals)

2 max_attributes uint32

message StatsType sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

Field Type Description
oneof type
1 attribute_distributions sentry_protos.snuba.v1.AttributeDistributionsRequest

message TraceItemStatsRequest sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta
2 filter sentry_protos.snuba.v1.TraceItemFilter

same filter applies to all stats types requested

3 stats_types repeated sentry_protos.snuba.v1.StatsType

message Bucket (Nested in sentry_protos.snuba.v1.AttributeDistribution ) sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

Field Type Description
1 label string
2 value float

message AttributeDistribution sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

Field Type Description
1 attribute_name string
2 buckets repeated sentry_protos.snuba.v1.AttributeDistribution.Bucket

message AttributeDistributions sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

Field Type Description
1 attributes repeated sentry_protos.snuba.v1.AttributeDistribution

message TraceItemStatsResult sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

Field Type Description
oneof result
1 attribute_distributions sentry_protos.snuba.v1.AttributeDistributions

message TraceItemStatsResponse sentry_protos/snuba/v1/endpoint_trace_item_stats.proto

this is a response from the TraceItemStats endpoint
it is the counterpart to TraceItemStatsRequest

Field Type Description
1 results repeated sentry_protos.snuba.v1.TraceItemStatsResult
2 page_token sentry_protos.snuba.v1.PageToken
3 meta sentry_protos.snuba.v1.ResponseMeta

message OrderBy (Nested in sentry_protos.snuba.v1.TraceItemTableRequest ) sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
1 column sentry_protos.snuba.v1.Column
2 descending bool

message TraceItemTableRequest sentry_protos/snuba/v1/endpoint_trace_item_table.proto

This is a request to the TraceItemTable endpoint,
it is used to query for TraceItems (ex. spans)
it returns tabular data where each row is a TraceItem,
and the columns are the attributes of the TraceItem
it can also be used for aggregations

Field Type Description
1 meta sentry_protos.snuba.v1.RequestMeta
2 columns repeated sentry_protos.snuba.v1.Column

the columns or aggregations you want to get

3 filter sentry_protos.snuba.v1.TraceItemFilter

filter out trace items you dont want

4 order_by repeated sentry_protos.snuba.v1.TraceItemTableRequest.OrderBy
5 group_by repeated sentry_protos.snuba.v1.AttributeKey
6 limit uint32
7 page_token sentry_protos.snuba.v1.PageToken

optional, used for pagination, the next page token will be returned in the response

8 virtual_column_contexts repeated sentry_protos.snuba.v1.VirtualColumnContext
9 aggregation_filter sentry_protos.snuba.v1.AggregationFilter

optional, filter out results of aggregates, same as SQL HAVING

message AggregationAndFilter sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.AggregationFilter

message AggregationOrFilter sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
1 filters repeated sentry_protos.snuba.v1.AggregationFilter

message AggregationComparisonFilter sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
1 column sentry_protos.snuba.v1.Column

deprecated as columns should always be aggregated in a post aggregation filter

2 op sentry_protos.snuba.v1.AggregationComparisonFilter.Op
3 value sentry_protos.snuba.v1.AttributeValue

since only aggregated columns are supported, the value should be numeric

5 val double
4 aggregation sentry_protos.snuba.v1.AttributeAggregation
6 conditional_aggregation sentry_protos.snuba.v1.AttributeConditionalAggregation

message AggregationFilter sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
oneof value
1 and_filter sentry_protos.snuba.v1.AggregationAndFilter
2 or_filter sentry_protos.snuba.v1.AggregationOrFilter
3 comparison_filter sentry_protos.snuba.v1.AggregationComparisonFilter

message BinaryFormula (Nested in sentry_protos.snuba.v1.Column ) sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
1 op sentry_protos.snuba.v1.Column.BinaryFormula.Op
2 left sentry_protos.snuba.v1.Column
3 right sentry_protos.snuba.v1.Column

message Column sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
3 label string
oneof column
1 key sentry_protos.snuba.v1.AttributeKey
2 aggregation sentry_protos.snuba.v1.AttributeAggregation
5 conditional_aggregation sentry_protos.snuba.v1.AttributeConditionalAggregation
4 formula sentry_protos.snuba.v1.Column.BinaryFormula

message TraceItemColumnValues sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Field Type Description
1 attribute_name string
2 results repeated sentry_protos.snuba.v1.AttributeValue
3 reliabilities repeated sentry_protos.snuba.v1.Reliability

reliability of the values based on confidence interval and sample size math

message TraceItemTableResponse sentry_protos/snuba/v1/endpoint_trace_item_table.proto

this is a response from the TraceItemTable endpoint
it is the counterpart to TraceItemTableRequest

Field Type Description
1 column_values repeated sentry_protos.snuba.v1.TraceItemColumnValues

the rows

2 page_token sentry_protos.snuba.v1.PageToken

page token for the next page of results

3 meta sentry_protos.snuba.v1.ResponseMeta

message CreateTraceItemTableSubscriptionRequest sentry_protos/snuba/v1/endpoint_trace_item_table_subscription.proto

Field Type Description
1 table_request sentry_protos.snuba.v1.TraceItemTableRequest
2 project_id uint64
3 time_window uint32
4 resolution uint32

message CreateTraceItemTableSubscriptionResponse sentry_protos/snuba/v1/endpoint_trace_item_table_subscription.proto

Field Type Description
1 subscription_id string

message Error sentry_protos/snuba/v1/error.proto

Field Type Description
1 code int32

The HTTP status code corresponding to this error

2 message string

The developer-facing message

3 details repeated google.protobuf.Any

Additional error information

Enums

enum Function sentry_protos/snuba/v1/trace_item_attribute.proto

Name Number Description
FUNCTION_UNSPECIFIED 0
FUNCTION_SUM 1
FUNCTION_AVERAGE 2
FUNCTION_COUNT 3
FUNCTION_P50 4
FUNCTION_P75 12
FUNCTION_P90 5
FUNCTION_P95 6
FUNCTION_P99 7
FUNCTION_AVG 8
FUNCTION_MAX 9
FUNCTION_MIN 10
FUNCTION_UNIQ 11

enum ExtrapolationMode sentry_protos/snuba/v1/trace_item_attribute.proto

Name Number Description
EXTRAPOLATION_MODE_UNSPECIFIED 0
EXTRAPOLATION_MODE_NONE 1
EXTRAPOLATION_MODE_SAMPLE_WEIGHTED 2

enum Reliability sentry_protos/snuba/v1/trace_item_attribute.proto

Name Number Description
RELIABILITY_UNSPECIFIED 0
RELIABILITY_LOW 1
RELIABILITY_HIGH 2

enum Type sentry_protos/snuba/v1/trace_item_attribute.proto

this mostly reflects what types are able to be ingested, see eap_spans consumer for ingest details

Name Number Description
TYPE_UNSPECIFIED 0

protobuf requirement, do not send this

TYPE_STRING 1
TYPE_BOOLEAN 2
TYPE_FLOAT 3

deprecated, use TYPE_DOUBLE instead

TYPE_INT 4

note: all numbers are stored as float64, so massive integers can be rounded. USE STRING FOR IDS.

TYPE_DOUBLE 5

enum Op sentry_protos/snuba/v1/trace_item_filter.proto

Name Number Description
OP_UNSPECIFIED 0
OP_LESS_THAN 1
OP_GREATER_THAN 2
OP_LESS_THAN_OR_EQUALS 3
OP_GREATER_THAN_OR_EQUALS 4
OP_EQUALS 5
OP_NOT_EQUALS 6
OP_LIKE 7

string only

OP_NOT_LIKE 8

string only

OP_IN 9

array only

OP_NOT_IN 10

array only

enum TraceItemName sentry_protos/snuba/v1/request_common.proto

DEPRECATED: use TraceItemType instead

Name Number Description
TRACE_ITEM_NAME_UNSPECIFIED 0
TRACE_ITEM_NAME_EAP_SPANS 1
TRACE_ITEM_NAME_EAP_ERRORS 2

enum TraceItemType sentry_protos/snuba/v1/request_common.proto

Name Number Description
TRACE_ITEM_TYPE_UNSPECIFIED 0
TRACE_ITEM_TYPE_SPAN 1
TRACE_ITEM_TYPE_ERROR 2
TRACE_ITEM_TYPE_LOG 3
TRACE_ITEM_TYPE_UPTIME_CHECK 4

enum Op sentry_protos/snuba/v1/endpoint_time_series.proto

Name Number Description
OP_UNSPECIFIED 0
OP_DIVIDE 1
OP_MULTIPLY 2
OP_ADD 3
OP_SUBTRACT 4

enum TraceOrderBy sentry_protos/snuba/v1/endpoint_find_traces.proto

Name Number Description
TRACE_ORDER_BY_UNSPECIFIED 0
TRACE_ORDER_BY_END_TIME 1
TRACE_ORDER_BY_TRACE_DURATION 2

enum Key sentry_protos/snuba/v1/endpoint_get_traces.proto

Key lists the available trace attribute keys you can query.

Name Number Description
KEY_UNSPECIFIED 0
KEY_TRACE_ID 1
KEY_START_TIMESTAMP 2

KEY_START_TIMESTAMP will return the earliest timestamp seen in the trace.

KEY_ROOT_SPAN_NAME 3

KEY_ROOT_SPAN_NAME will return the name of the root (segment) span of
the trace.

KEY_TOTAL_ITEM_COUNT 4

KEY_TOTAL_ITEM_COUNT will return the count of all the items in a trace,
regardless of the conditions applied.

KEY_FILTERED_ITEM_COUNT 5

KEY_FILTERED_ITEM_COUNT will return the count of items where the filters
apply.
For example, in a trace with 5 items (1 http.server span, 4 db spans),
if we query for traces with span.op == "db", this will return 4.

KEY_ROOT_SPAN_DURATION_MS 6

KEY_ROOT_SPAN_DURATION_MS will return the duration of the root span in
milliseconds.

KEY_ROOT_SPAN_PROJECT_ID 7

KEY_ROOT_SPAN_PROJECT_ID returns the project ID associated with the root
span.

KEY_EARLIEST_SPAN_NAME 8

KEY_EARLIEST_SPAN_NAME returns the name of the earliest span of a trace,
regardless if it's a root span or not

KEY_EARLIEST_FRONTEND_SPAN 9

KEY_EARLIEST_FRONTEND_SPAN returns the name of the earliest span emitted
by the frontend (for example, span op being pageload or navigation).

KEY_END_TIMESTAMP 10

KEY_END_TIMESTAMP will return the latest timestamp seen in the trace.

KEY_EARLIEST_SPAN_PROJECT_ID 11

KEY_EARLIEST_SPAN_PROJECT_ID returns the project ID associated with the earliest span.

KEY_EARLIEST_SPAN_DURATION_MS 12

KEY_EARLIEST_SPAN_DURATION_MS will return the duration of the earliest span in milliseconds.

KEY_EARLIEST_FRONTEND_SPAN_PROJECT_ID 13

KEY_EARLIEST_FRONTEND_SPAN_PROJECT_ID returns the project ID associated with the earliest frontend span.

KEY_EARLIEST_FRONTEND_SPAN_DURATION_MS 14

KEY_EARLIEST_FRONTEND_SPAN_DURATION_MS will return the duration of the earliest frontend span in milliseconds.

enum Op sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Name Number Description
OP_UNSPECIFIED 0
OP_LESS_THAN 1
OP_GREATER_THAN 2
OP_LESS_THAN_OR_EQUALS 3
OP_GREATER_THAN_OR_EQUALS 4
OP_EQUALS 5
OP_NOT_EQUALS 6

enum Op sentry_protos/snuba/v1/endpoint_trace_item_table.proto

Name Number Description
OP_UNSPECIFIED 0
OP_DIVIDE 1
OP_MULTIPLY 2
OP_ADD 3
OP_SUBTRACT 4