How to use the opentracing.Tags.DB_TYPE function in opentracing

To help you get started, we’ve selected a few opentracing examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github RisingStack / opentracing-auto / src / instrumentation / pg.spec.js View on Github external
it('should start and finish span', async () => {
      const query = 'SELECT 1 AS result'
      const { rows } = await db.raw(query)

      expect(rows).to.be.eql([{ result: 1 }])

      expect(cls.startChildSpan).to.be.calledWith(tracer, `${instrumentation.OPERATION_NAME}_query`, {
        tags: {
          [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
          [Tags.DB_TYPE]: instrumentation.DB_TYPE,
          [Tags.DB_STATEMENT]: query
        }
      })

      // FIXME: only with ../instrument.js tests together
      // expect(mockChildSpan.finish).to.have.callCount(1)
    })
github RisingStack / opentracing-auto / src / instrumentation / mysql.spec.js View on Github external
it('should start and finish span', async () => {
      const query = 'SELECT 1 AS result'
      const result = await db.raw(query)

      expect(result[0]).to.be.eql([{ result: 1 }])

      expect(cls.startChildSpan).to.be.calledWith(tracer, `${instrumentation.OPERATION_NAME}_query`, {
        tags: {
          [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
          [Tags.DB_TYPE]: instrumentation.DB_TYPE,
          [Tags.DB_STATEMENT]: query
        }
      })

      // FIXME: only with ../instrument.js tests together
      // expect(mockChildSpan.finish).to.have.callCount(1)
    })
github RisingStack / opentracing-auto / src / instrumentation / redis.spec.js View on Github external
client.set('string key', 'string val', (err, replies) => {
        expect(replies).to.be.eql('OK')
        expect(cls.startChildSpan).to.be.calledWith(tracer, 'redis_set', {
          tags: {
            [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
            [Tags.DB_TYPE]: instrumentation.DB_TYPE,
            [Tags.DB_STATEMENT]: 'set string key,string val'
          }
        })

        // FIXME: is this an issue?
        // expect(mockChildSpan.finish).to.have.callCount(1)

        done(err)
      })
    })
github RisingStack / opentracing-auto / src / instrumentation / mongodbCore.spec.js View on Github external
it('should start and finish span', async () => {
      const site = {
        name: 'risingstack',
        url: 'https://risingstack.com'
      }
      const result = await dbSites.insert(site)

      expect(result).to.be.eql(site)

      expect(cls.startChildSpan).to.be.calledWith(tracer, `${instrumentation.OPERATION_NAME}_insert`, {
        tags: {
          [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
          [Tags.DB_TYPE]: instrumentation.DB_TYPE,
          [Tags.DB_STATEMENT]: JSON.stringify([site]),
          [Tags.DB_INSTANCE]: 'mydb.sites'
        }
      })
      expect(mockChildSpan.finish).to.have.callCount(1)
    })
github RisingStack / opentracing-auto / src / instrumentation / mysql.js View on Github external
return function createQueryWrapped (sql, values, cb) {
      const query = createQuery.call(this, sql, values, cb)
      const statement = query.sql

      const operationName = `${OPERATION_NAME}_query`
      const spans = tracers.map((tracer) => cls.startChildSpan(tracer, operationName, {
        tags: {
          [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
          [Tags.DB_TYPE]: DB_TYPE,
          [Tags.DB_STATEMENT]: statement
        }
      }))

      debug(`Operation started ${OPERATION_NAME}`, {
        [Tags.DB_TYPE]: DB_TYPE,
        [Tags.DB_STATEMENT]: statement
      })

      query.on('error', (err) => {
        spans.forEach((span) => span.log({
          event: 'error',
          'error.object': err,
          message: err.message,
          stack: err.stack
        }))
        spans.forEach((span) => span.setTag(Tags.ERROR, true))

        debug(`Operation error captured ${operationName}`, {
          reason: 'Error event',
          errorMessage: err.message
        })
github RisingStack / opentracing-auto / src / instrumentation / redis.js View on Github external
const spans = tracers.map((tracer) => cls.startChildSpan(tracer, operationName, {
        tags: {
          [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
          [Tags.DB_TYPE]: DB_TYPE,
          [Tags.DB_STATEMENT]: statement
        }
      }))
github RisingStack / opentracing-auto / src / instrumentation / mongodbCore.js View on Github external
const spans = tracers.map((tracer) => cls.startChildSpan(tracer, operationName, {
        tags: {
          [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
          [Tags.DB_TYPE]: DB_TYPE,
          [Tags.DB_STATEMENT]: statement,
          [Tags.DB_INSTANCE]: ns
        }
      }))
github artsy / metaphysics / src / lib / tracer.ts View on Github external
const createCommand = (command: string) => (
  promise: Promise
): Promise => {
  const parentScope = tracer.scopeManager().active()
  const span = tracer.startSpan("memcached", {
    childOf: parentScope && parentScope.span(),
    tags: {
      [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
      [Tags.DB_TYPE]: "memcached",
      "service.name": `${DD_TRACER_SERVICE_NAME}.memcached`,
      "resource.name": command,
      "span.type": "memcached",
    },
  })

  return promise.then(
    result => {
      span.finish()
      return result
    },
    err => {
      const tags = {
        "error.type": err.name,
        "error.msg": err.message,
      }
github RisingStack / opentracing-auto / src / instrumentation / pg.js View on Github external
const spans = tracers.map((tracer) => cls.startChildSpan(tracer, operationName, {
        tags: {
          [Tags.SPAN_KIND]: Tags.SPAN_KIND_RPC_CLIENT,
          [Tags.DB_TYPE]: DB_TYPE,
          [Tags.DB_STATEMENT]: statement
        }
      }))