Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Honeycomb

最終更新 Markdown で表示Agent セットアップ

Honeycomb Pages Plugin は、分析と可観測性のためにトレースを自動で Honeycomb に送ります。

インストール

npm i @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 depth5 に設定してください。

上の手順に従い、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();
};

役に立ちましたか?