← Cloudflare Pages / pages / functions / plugins
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.
Дополнительный контекст
data.honeycomb.tracer имеет два метода добавления дополнительной информации к заданной трассировке:
data.honeycomb.tracer.logкоторый принимает один аргумент,String.data.honeycomb.tracer.addDataкоторый принимает один аргумент, объект с произвольными данными.
Подробнее об этих методах можно узнать на @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();
};