INTEGRITY Документация

Honeycomb

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",
});

Этот плагин основан на @cloudflare/workers-honeycomb-logger и принимает те же параметры конфигурации.

Обязательно включите опцию Автоматическая распаковка вложенного JSON и задайте Максимальная глубина распаковки к 5 в настройках датасета Honeycomb.

Следуйте инструкциям выше, чтобы включить опцию Automatically unpack nested JSON и установить значение 5 для параметра Maximum unpacking depth в панели управления Honeycomb

Дополнительный контекст

data.honeycomb.tracer имеет два метода добавления дополнительной информации к заданной трассировке:

Подробнее об этих методах можно узнать на @cloudflare/workers-honeycomb-loggerдокументация.

For example, if you wanted to use the 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();
};