mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-26 04:34:35 +00:00
remove master metrics, we'll be using node exporter instead for system info
This commit is contained in:
@@ -11,7 +11,6 @@ import { generateID } from "../core/Util";
|
||||
import { gatekeeper, LimiterType } from "./Gatekeeper";
|
||||
import { logger } from "./Logger";
|
||||
import { MapPlaylist } from "./MapPlaylist";
|
||||
import { setupMasterMetrics } from "./MasterMetrics";
|
||||
|
||||
const config = getServerConfigFromServer();
|
||||
const playlist = new MapPlaylist();
|
||||
@@ -22,11 +21,6 @@ const server = http.createServer(app);
|
||||
|
||||
const log = logger.child({ comp: "m" });
|
||||
|
||||
if (config.otelEnabled()) {
|
||||
console.log("setting up master metrics");
|
||||
setupMasterMetrics();
|
||||
}
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
app.use(express.json());
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
|
||||
import { HostMetrics } from "@opentelemetry/host-metrics";
|
||||
import {
|
||||
MeterProvider,
|
||||
PeriodicExportingMetricReader,
|
||||
} from "@opentelemetry/sdk-metrics";
|
||||
import * as dotenv from "dotenv";
|
||||
import { getServerConfigFromServer } from "../core/configuration/ConfigLoader";
|
||||
import { getOtelResource } from "./OtelResource";
|
||||
|
||||
dotenv.config();
|
||||
|
||||
// Get server configuration
|
||||
const config = getServerConfigFromServer();
|
||||
|
||||
// Create resource with master information
|
||||
const resource = getOtelResource();
|
||||
|
||||
// Configure headers for basic auth if provided
|
||||
const getAuthHeaders = () => {
|
||||
const headers = {};
|
||||
if (config.otelEnabled()) {
|
||||
headers["Authorization"] =
|
||||
"Basic " +
|
||||
Buffer.from(`${config.otelUsername()}:${config.otelPassword()}`).toString(
|
||||
"base64",
|
||||
);
|
||||
}
|
||||
return headers;
|
||||
};
|
||||
|
||||
// Create metrics exporter
|
||||
const metricExporter = new OTLPMetricExporter({
|
||||
// Dummy endpoint if OTEL is not enabled to avoid parsing errors
|
||||
url: `${config.otelEndpoint() || "https://dummy_endpoint.com"}/v1/metrics`,
|
||||
headers: getAuthHeaders(),
|
||||
});
|
||||
|
||||
// Configure the metric reader
|
||||
const metricReader = new PeriodicExportingMetricReader({
|
||||
exporter: metricExporter,
|
||||
exportIntervalMillis: 15000, // Export metrics every 15 seconds
|
||||
});
|
||||
|
||||
// Create a meter provider
|
||||
const meterProvider = new MeterProvider({
|
||||
resource,
|
||||
readers: [metricReader],
|
||||
});
|
||||
|
||||
// Setup host metrics
|
||||
const hostMetrics = new HostMetrics({ meterProvider });
|
||||
|
||||
// Get meter for creating custom metrics
|
||||
const meter = meterProvider.getMeter("master-metrics");
|
||||
|
||||
// Export the metrics for use in the master
|
||||
export const setupMasterMetrics = () => {
|
||||
console.log("Starting host metrics collection for master...");
|
||||
|
||||
// Start collecting host metrics
|
||||
hostMetrics.start();
|
||||
|
||||
// Return the meter provider and meter for potential additional metrics
|
||||
return {
|
||||
meterProvider,
|
||||
meter,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user