add scrape-tool to reports

This commit is contained in:
mrjvs 2024-01-25 22:19:09 +01:00
parent e071515d09
commit ec6119a44c

View File

@ -3,7 +3,9 @@ import { nanoid } from "nanoid";
import { ofetch } from "ofetch"; import { ofetch } from "ofetch";
import { useCallback } from "react"; import { useCallback } from "react";
import { isExtensionActiveCached } from "@/backend/extension/messaging";
import { ScrapingItems, ScrapingSegment } from "@/hooks/useProviderScrape"; import { ScrapingItems, ScrapingSegment } from "@/hooks/useProviderScrape";
import { useAuthStore } from "@/stores/auth";
import { PlayerMeta } from "@/stores/player/slices/source"; import { PlayerMeta } from "@/stores/player/slices/source";
// for anybody who cares - these are anonymous metrics. // for anybody who cares - these are anonymous metrics.
@ -25,6 +27,15 @@ export type ProviderMetric = {
fullError?: string; fullError?: string;
}; };
export type ScrapeTool = "default" | "custom-proxy" | "extension";
export function getScrapeTool(): ScrapeTool {
if (isExtensionActiveCached()) return "extension";
const hasProxySet = !!useAuthStore.getState().proxySet;
if (hasProxySet) return "custom-proxy";
return "default";
}
function getStackTrace(error: Error, lines: number) { function getStackTrace(error: Error, lines: number) {
const topMessage = error.toString(); const topMessage = error.toString();
const stackTraceLines = (error.stack ?? "").split("\n", lines + 1); const stackTraceLines = (error.stack ?? "").split("\n", lines + 1);
@ -37,6 +48,7 @@ export async function reportProviders(items: ProviderMetric[]): Promise<void> {
method: "POST", method: "POST",
body: { body: {
items, items,
tool: getScrapeTool(),
batchId: batchId(), batchId: batchId(),
}, },
}); });