Honeycomb Pages Plugin は、分析と可観測性のためにトレースを自動で Honeycomb に送ります。
npm i @cloudflare/pages-plugin-honeycombyarn add @cloudflare/pages-plugin-honeycombpnpm add @cloudflare/pages-plugin-honeycombbun add @cloudflare/pages-plugin-honeycomb次の使用例では、Pages プロジェクトの設定で指定する環境変数を使います。
import honeycombPlugin from "@cloudflare/pages-plugin-honeycomb";
export const onRequest: PagesFunction<{
HONEYCOMB_API_KEY: string;
HONEYCOMB_DATASET: string;
}> = (context) => {
return honeycombPlugin({
apiKey: context.env.HONEYCOMB_API_KEY,
dataset: context.env.HONEYCOMB_DATASET,
})(context);
};または、次の方法で設定をハードコードできます(API キーではおすすめしません)。
import honeycombPlugin from "@cloudflare/pages-plugin-honeycomb";
export const onRequest = honeycombPlugin({
apiKey: "YOUR_HONEYCOMB_API_KEY",
dataset: "YOUR_HONEYCOMB_DATASET_NAME",
});この Plugin は @cloudflare/workers-honeycomb-logger を基盤にしており、同じ 設定オプション ↗ を受け取れます。
Honeycomb のデータセット設定で、Automatically unpack nested JSON を有効にし、Maximum unpacking depth を 5 に設定してください。
data.honeycomb.tracer には、特定のトレースに追加情報を付けるメソッドが 2 つあります。
data.honeycomb.tracer.logは、引数を 1 つ取ります。型はStringです。data.honeycomb.tracer.addDataは、引数を 1 つ取ります。任意データのオブジェクトです。
これらのメソッドの詳細は、@cloudflare/workers-honeycomb-logger のドキュメント ↗ で確認できます。
たとえば、addData メソッドでユーザー情報を付ける場合は次のとおりです。
import type { PluginData } from "@cloudflare/pages-plugin-honeycomb";
export const onRequest: PagesFunction<unknown, any, PluginData> = async ({
data,
next,
request,
}) => {
// Authenticate the user from the request and extract user's email address
const email = await getEmailFromRequest(request);
data.honeycomb.tracer.addData({ email });
return next();
};