Skip to content

Commit 6fba197

Browse files
committed
feat(otel): trace search
1 parent ea847dc commit 6fba197

1 file changed

Lines changed: 24 additions & 11 deletions

File tree

app/graphql/resolvers/rdf.ts

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import { queryLatestCubeIri } from "@/rdf/query-latest-cube-iri";
4646
import { getPossibleFilters } from "@/rdf/query-possible-filters";
4747
import { searchCubes as _searchCubes, SearchResult } from "@/rdf/query-search";
4848
import { getSparqlEditorUrl } from "@/rdf/sparql-utils";
49+
import { tracer } from "@/tracer";
4950

5051
export const dataCubeLatestIri: NonNullable<
5152
QueryResolvers["dataCubeLatestIri"]
@@ -100,18 +101,30 @@ export const searchCubes: NonNullable<QueryResolvers["searchCubes"]> = async (
100101
{ setup },
101102
info
102103
) => {
103-
const { sparqlClient } = await setup(info);
104-
const cubes = await _searchCubes({
105-
locale,
106-
includeDrafts,
107-
fetchDimensionTermsets,
108-
filters,
109-
query,
110-
sparqlClient,
111-
});
112-
sortResults(cubes, order, locale);
104+
return await tracer.startActiveSpan("searchCubes", async (span) => {
105+
try {
106+
span.addEvent("search.input", {
107+
"app.search.query":
108+
typeof query === "string" ? query : JSON.stringify(query),
109+
"app.search.filters": JSON.stringify(filters),
110+
});
113111

114-
return cubes;
112+
const { sparqlClient } = await setup(info);
113+
const cubes = await _searchCubes({
114+
locale,
115+
includeDrafts,
116+
fetchDimensionTermsets,
117+
filters,
118+
query,
119+
sparqlClient,
120+
});
121+
sortResults(cubes, order, locale);
122+
123+
return cubes;
124+
} finally {
125+
span.end();
126+
}
127+
});
115128
};
116129

117130
export const dataCubeDimensionGeoShapes: NonNullable<

0 commit comments

Comments
 (0)