# Query Service Query service is the interface between frontend 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 Clickhouse queries (and all other supported database queries) - parse response from databases and handle error if any - clickhouse response in the format accepted by Frontend # Complete the clickhouse setup locally. https://github.com/SigNoz/signoz/blob/main/CONTRIBUTING.md#to-run-clickhouse-setup-recommended-for-local-development - Comment out the query-service and the frontend section in `signoz/deploy/docker/clickhouse-setup/docker-compose.yaml` - Change the alertmanager section in `signoz/deploy/docker/clickhouse-setup/docker-compose.yaml` as follows: ```console alertmanager: image: signoz/alertmanager:0.23.5 volumes: - ./data/alertmanager:/data expose: - "9093" ports: - "8080:9093" # depends_on: # query-service: # condition: service_healthy restart: on-failure command: - --queryService.url=http://172.17.0.1:8085 - --storage.path=/data ``` - Run the following: ```console cd signoz/ If you are using x86_64 processors (All Intel/AMD processors) run sudo make run-x86 If you are on arm64 processors (Apple M1 Macs) run sudo make run-arm ``` #### Backend Configuration - Open ./constants/constants.go - Replace ```const RELATIONAL_DATASOURCE_PATH = "/var/lib/signoz/signoz.db"``` \ with ```const RELATIONAL_DATASOURCE_PATH = "./signoz.db".``` - Query Service needs below `env` variables to run: ``` export ClickHouseUrl=tcp://localhost:9001 export STORAGE=clickhouse export ALERTMANAGER_API_PREFIX=http://localhost:9093/api/ ``` #### Build and Run locally ```console cd pkg/query-service go build -o build/query-service main.go ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse build/query-service --prefer-delta=true ``` # Frontend Configuration for local query-service. - Set the following environment variables ```console export FRONTEND_API_ENDPOINT=http://localhost:8080 ``` - Run the following ```console cd signoz\frontend\ yarn install yarn dev ``` ## Note: If you use go version 1.18 for development and contributions, then please checkout the following issue. https://github.com/SigNoz/signoz/issues/1371 #### Docker Images The docker images of query-service is available at https://hub.docker.com/r/signoz/query-service