Matchu
7f0a450480
Oops, we get a _lot_ of outfit image requests, and it's pushing the limits of our free Honeycomb plan! But I don't really need all that much detail, because there's so many. So, we here apply sampling! `api/outfitImage` is getting a 1/10 rate, and for GraphQL, `ApiOutfitImage` is getting 1/10, and `SearchPanel` is getting 1/5. I had to add a `addTraceContext` call, to give all the child events awareness of what operation they're being called in, too! I haven't actually tested that this is working-working, just that the endpoints still return good data. We'll see how it shakes out in prod! But I did add `console.log(sampleRate, shouldSample, data);` to the `samplerHook` briefly, to see the data flow through, and I reloaded a `SearchPanel` request a few times and observed a plausibly 20% success rate.
25 lines
524 B
JavaScript
25 lines
524 B
JavaScript
import beeline from "honeycomb-beeline";
|
|
|
|
const beelinePlugin = {
|
|
requestDidStart() {
|
|
const trace = beeline.startTrace();
|
|
return {
|
|
didResolveOperation({ operationName }) {
|
|
beeline.addContext({
|
|
name: operationName,
|
|
operation_name: operationName,
|
|
});
|
|
beeline.addTraceContext({
|
|
operation_name: operationName,
|
|
});
|
|
},
|
|
willSendResponse() {
|
|
beeline.finishTrace(trace);
|
|
},
|
|
};
|
|
},
|
|
};
|
|
|
|
module.exports = {
|
|
beelinePlugin,
|
|
};
|