Skip to main content
Glama
prisma

Prisma MCP Server

Official
by prisma
PrismaInstrumentation.ts1.41 kB
import { trace, TracerProvider } from '@opentelemetry/api' import { InstrumentationBase, InstrumentationConfig, InstrumentationNodeModuleDefinition, } from '@opentelemetry/instrumentation' import { clearGlobalTracingHelper, getGlobalTracingHelper, setGlobalTracingHelper, } from '@prisma/instrumentation-contract' import { ActiveTracingHelper } from './ActiveTracingHelper' import { MODULE_NAME, NAME, VERSION } from './constants' export interface PrismaInstrumentationConfig { ignoreSpanTypes?: (string | RegExp)[] } type Config = PrismaInstrumentationConfig & InstrumentationConfig export class PrismaInstrumentation extends InstrumentationBase { private tracerProvider: TracerProvider | undefined constructor(config: Config = {}) { super(NAME, VERSION, config) } setTracerProvider(tracerProvider: TracerProvider): void { this.tracerProvider = tracerProvider } init() { const module = new InstrumentationNodeModuleDefinition(MODULE_NAME, [VERSION]) return [module] } enable() { const config = this._config as Config setGlobalTracingHelper( new ActiveTracingHelper({ tracerProvider: this.tracerProvider ?? trace.getTracerProvider(), ignoreSpanTypes: config.ignoreSpanTypes ?? [], }), ) } disable() { clearGlobalTracingHelper() } isEnabled() { return getGlobalTracingHelper() !== undefined } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prisma/prisma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server