Search:
Query time window: Live Updates Read from leader Active context:

About the query language

You can query the event store through this page. The query operates on a stream of events, where you can define filters and projections to obtain the results that you want.

When you perform a search without any query it returns 1000 events.

The event stream contains the following fields:

token
aggregateIdentifier
aggregateSequenceNumber
aggregateType
payloadType
payloadRevision
payloadData
timestamp

Filtering

Filtering lets you reduce the events you see, so you get only those events that you want. A simple filter is to find all the events for a specific aggregate:

aggregateIdentifier = "beff70ef-3160-499b-8409-5bd5646f52f3"

You can also filter based on a partial value, for instance a string within the payloadData:

payloadData contains "ACME"

And, of course, you can combine these filters with AND or OR:

aggregateIdentifier = "beff70ef-3160-499b-8409-5bd5646f52f3" and payloadData contains "ACME"

Projections

You can select the fields, perform operations on the fields and perform grouping functions. For instance you can perform a query that returns the number of events grouped by the payloadType:

groupby(payloadType, count())

You can also select a number of fields and perform operations on them:

select(aggregateType, payloadType, formatDate(timestamp, "yyyy/MM/dd HH:mm") as time)

Combining filters and projections is also possible, by creating a pipeline of conditions, e.g.:

aggregateSequenceNumber > 50 | groupby(payloadType, count())

Limiting results

Filtering on recent events is done by adding a time constraint to the query chain. An example:

aggregateSequenceNumber > 50 | last 4 hours

Functions

For more information on all supported functions check the reference guide.

{{ info }}
Name Value Copy
{{column}} {{activeRow.value[column]}}