signoz/pkg/query-service
Vishal Sharma 0ab91707e9
New Trace Filter Page API changes (Backend) (#646)
* build: integrate sql migrations for clickhouse

* feat: support error/exception attributes for trace

* chore: fixing dependencies for docker go client libs

* feat: get trace filter api checkpoint

* chore: fixing dependencies for go-migrate

* feat: add new columns

* feat: move mirgate run from docker to code

* fix: migration file 404 issue

* feat: getSpanFilter API

* fix: migrate version naming bug

* chore: change url param format to array

* feat: add getTagFilter API

* feat: add getFilteredSpans API

* fix: using OFFSET in sqlx driver

* feat: aggregates API on getFilteredSpan, use IN and NOT IN for tag filtering

* feat: add more function support to span aggregate API

* fix: null component edge case

* feat: groupBy support for filteredSpanAggregate

* feat: add function param to span aggregate API

* feat: add support to return totalSpans in getFilteredSpans API

* fix: don't return null string as keys in span filters

* chore: remove SQL migrations(moved to otel collector)

* fix: null string issue in aggregate API

* Merge main

* fix: trace API db query param

* fix: signoz sql db path

* fix: case when both error and ok status are selected

Co-authored-by: Ankit Nayan <ankit@signoz.io>
2022-01-26 20:41:59 +05:30
..
2022-01-21 00:31:58 +05:30
2021-01-03 18:15:44 +05:30
2021-01-03 18:15:44 +05:30
2021-01-03 18:15:44 +05:30
2021-09-02 13:18:47 +05:30
2021-09-02 13:18:47 +05:30
2022-01-21 00:31:58 +05:30
2022-01-21 00:31:58 +05:30
2021-01-08 00:40:19 +05:30

Query Service

Query service is the interface between forntend and databases. It is written in Golang. It will have modules for all supported databases. Query service is responsible to:

  • parse the request from Frontend
  • create relevant Druid queries (and all other supported database queries)
  • parse response from databases and handle error if any
  • build response in the format accepted by Frontend

Druid Queries

Internally we use both native and sql queries to Druid.

Configuration

Query Service needs below env variables to run:

    DruidClientUrl: http://signoz-druid-router:8888
    DruidDatasource: flattened_spans

The above values are the default ones used by SigNoz and are kept at deploy/kubernetes/platform/signoz-charts/query-service/values.yaml

Build and Run locally

cd pkg/query-service
go build -o build/query-service main.go
DruidClientUrl=xxxx DruidDatasource=flattened_spans build/query-service

Docker Images

The docker images of query-service is available at https://hub.docker.com/r/signoz/query-service