Skip to content

Query service which exposes APIs to query data from the underlying stores.

License

Notifications You must be signed in to change notification settings

hypertrace/query-service

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
saxenakshitiz
Jun 28, 2023
032c0ab · Jun 28, 2023
Jun 28, 2023
Jul 6, 2022
May 31, 2023
Jun 28, 2023
Jun 27, 2023
Jun 27, 2023
Jun 28, 2023
Jun 27, 2023
Sep 21, 2020
Jun 27, 2023
Jul 12, 2020
Oct 1, 2021
Jun 27, 2023
Jan 6, 2021
Jul 3, 2020
Jul 6, 2022
Nov 25, 2020
Jun 28, 2023
Jul 3, 2020
Jul 5, 2022

Repository files navigation

Query Service

The Query Service interfaces with Apache Pinot Data Store

Description

space-1.jpg
Hypertrace Query Architecture
  • Query Service serves time series data for attributes/metrics from spans and events. The query interface this exposes is more like a table where you can select any columns, aggregations on them with filters. It's easy to do slicing and dicing of data (only from one table since no JOINs are supported) with this interface.
  • Currently Pinot is the only DB layer for this service and queries are directly translated to PQL. However, in future we could add support for more data stores like Presto, Druid etc here.
  • This layer doesn't understand the entities and their relationships because the query interface is generic table like interface.

Building locally

The Query service uses gradlew to compile/install/distribute. Gradle wrapper is already part of the source code. To build Query Service, run:

./gradlew dockerBuildImages

Testing

Running unit tests

Run ./gradlew test to execute unit tests.

Testing image

With docker-compose

To test your image using the docker-compose setup follow the steps:

  • Commit you changes to a branch say query-service-test.
  • Go to hypertrace-service and checkout the above branch in the submodule.
cd query-service && git checkout query-service-test && cd ..
  hypertrace-service:
    image: hypertrace/hypertrace-service:test
    container_name: hypertrace-service
    ...
  • and then run docker-compose up to test the setup.

and then run docker-compose up to test the setup.

With Helm setup

Add image repository and tag in values.yaml file here like below and then run ./hypertrace.sh install again and you can test your image!

query-service:
  image:
    repository: "hypertrace/query-service"
    tagOverride: "test"

Docker Image Source:

About

Query service which exposes APIs to query data from the underlying stores.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages