QueryExemplars implements service.IngesterServer
(ctx context.Context, req *client.ExemplarQueryRequest)
| 1800 | |
| 1801 | // QueryExemplars implements service.IngesterServer |
| 1802 | func (i *Ingester) QueryExemplars(ctx context.Context, req *client.ExemplarQueryRequest) (resp *client.ExemplarQueryResponse, err error) { |
| 1803 | defer recoverIngester(i.logger, &err) |
| 1804 | if err = i.checkRunning(); err != nil { |
| 1805 | return nil, err |
| 1806 | } |
| 1807 | |
| 1808 | userID, err := users.TenantID(ctx) |
| 1809 | if err != nil { |
| 1810 | return nil, err |
| 1811 | } |
| 1812 | |
| 1813 | // Set pprof labels for profiling |
| 1814 | pprof.Do(ctx, pprof.Labels("user", userID), func(ctx context.Context) { |
| 1815 | resp, err = i.queryExemplars(ctx, userID, req) |
| 1816 | }) |
| 1817 | return resp, err |
| 1818 | } |
| 1819 | |
| 1820 | func (i *Ingester) queryExemplars(ctx context.Context, userID string, req *client.ExemplarQueryRequest) (*client.ExemplarQueryResponse, error) { |
| 1821 | from, through, matchers, err := client.FromExemplarQueryRequest(i.matchersCache, req) |
nothing calls this directly
no test coverage detected