Skip to content

OTEL spans are not recognised as spans from a database #21472

@maxkomarychev

Description

@maxkomarychev

Bug description

When viewing spans in DataDog spans of Prisma are not recognised as database-ones.

dd-screenshot

It appears like Prisma libraries do not match these conventions: https://opentelemetry.io/docs/specs/semconv/database/database-spans/ .

Specifically:

  1. Span type is not set to "client"
  2. attribute db.system is not populated

How to reproduce

Enable open telemetry feature in Prisma and view spans in DataDog

Expected behavior

Spans of Prisma should appear in "DB" section.

Prisma information

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider      = "prisma-client-js"
  // https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#binarytargets-options
  binaryTargets = ["darwin-arm64", "darwin", "debian-openssl-1.1.x", "linux-arm64-openssl-1.1.x"]
  previewFeatures = ["tracing"]
}

.... models go here ....
import { PrismaClient } from '@prisma/client'
import { PrismaInstrumentation } from '@prisma/instrumentation'
import { registerInstrumentations } from '@opentelemetry/instrumentation'

const prismaClient = new PrismaClient()

const instr = new PrismaInstrumentation({ middleware: true })
registerInstrumentations({
    instrumentations: [instr],
})

export { prismaClient }

Environment & setup

  • OS: docker - debian-bullseye
  • Database: PostgreSQL
  • Node.js version: 18

Prisma Version

prisma                  : 4.11.0
@prisma/client          : 4.11.0
Current platform        : darwin-arm64
Query Engine (Node-API) : libquery-engine 8fde8fef4033376662cad983758335009d522acb (at node_modules/@prisma/engines/libquery_engine-darwin-arm64.dylib.node)
Migration Engine        : migration-engine-cli 8fde8fef4033376662cad983758335009d522acb (at node_modules/@prisma/engines/migration-engine-darwin-arm64)
Format Wasm             : @prisma/prisma-fmt-wasm 4.11.0-57.8fde8fef4033376662cad983758335009d522acb
Default Engines Hash    : 8fde8fef4033376662cad983758335009d522acb
Studio                  : 0.483.0

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions