Martin Disibio 5d540e119f Move all intrinsic tag lookup to the query-frontend and prioritize them in the results (#4784)
* Move all intrinsic tag lookup to the query-frontend and prioritize them in the results

* lint, error handling, fix tests

* Fix some tests

* Revert unintended change to search/tags v1 behavior, update tests

* Reduce diff

* Revert unintended change to 'none' scope

* reduce diff

* changelog

* Update test to test intrinsic handling at the limit

* todos
2025-03-04 15:12:03 -05:00
..
2024-12-18 13:30:55 +01:00
2024-10-31 15:22:38 +00:00
2025-02-28 14:33:55 +01:00
2025-02-28 14:33:55 +01:00
2025-02-28 14:33:55 +01:00
2024-08-01 13:25:12 +02:00
2024-08-01 13:25:12 +02:00

Running the integration tests

-count=1 is passed to disable cache during test runs.

# build latest image
make docker-tempo
make docker-tempo-query

# run all tests
go test -count=1 -v ./integration/e2e/...

# run a particular test "TestMicroservices"
go test -count=1 -v ./integration/e2e/... -run TestMicroservices$

# build and run a particular test "TestMicroservicesWithKVStores"
make docker-tempo && go test -count=1 -v ./integration/e2e/... -run TestMicroservicesWithKVStores$

# run a single e2e tests with timeout
go test -timeout 3m -count=1 -v ./integration/e2e/... -run ^TestMultiTenantSearch$

# follow and watch logs while tests are running (assuming e2e test container is named tempo_e2e-tempo)
docker logs $(docker container ls -f name=tempo_e2e-tempo -q) -f

How to debug Tempo while running an integration test

  1. Build latest debug image
        make docker-tempo-debug
    
  2. Use the function NewTempoAllInOneDebug in your test to spin a Tempo instance with debug capabilities
  3. Set a breakpoint after require.NoError(t, s.StartAndWaitReady(tempo)) and before the action you want debug
  4. Get the port of Delve debugger inside the container
    docker ps --format '{{.Ports}}'  
        # 0.0.0.0:53467->2345
    
  5. Run the debugger against that port as is specified here