INTEGRITY Dokumentace

Honeycomb

Honeycomb Pages Plugin automaticky odesílá trasovací data do Honeycomb pro účely analýzy a observability.

Instalace

npm i @cloudflare/pages-plugin-honeycomb

Použití

Následující ukázka použití využívá proměnné prostředí, které je třeba nastavit v nastavení vašeho projektu 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);
};

Alternativně můžete svá nastavení napevno zakódovat (u API klíče se to nedoporučuje) následujícím způsobem:

import honeycombPlugin from "@cloudflare/pages-plugin-honeycomb";

export const onRequest = honeycombPlugin({
	apiKey: "YOUR_HONEYCOMB_API_KEY",
	dataset: "YOUR_HONEYCOMB_DATASET_NAME",
});

Tento Plugin vychází z @cloudflare/workers-honeycomb-logger a přijímá stejné možnosti konfigurace.

Zkontrolujte, že jste povolili možnost Automatické rozbalení vnořeného JSON a nastavte Maximum unpacking depth na 5 v nastavení datové sady Honeycomb.

Podle výše uvedených pokynů zapněte v dashboardu Honeycomb možnost Automatically unpack nested JSON a nastavte možnost Maximum unpacking depth na hodnotu 5

Další kontext

data.honeycomb.tracer má dvě metody pro připojení dalších informací k danému trasování:

Další informace o těchto metodách najdete na @cloudflare/workers-honeycomb-loggerova dokumentace.

Pokud byste chtěli například použít addData metodu pro připojení informací o uživateli:

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();
};