newrelic 13.2.1 → 13.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NEWS.md +47 -7
- package/api.js +1 -1
- package/lib/instrumentation/@azure/functions.js +8 -46
- package/lib/instrumentation/core/http-outbound.js +26 -10
- package/lib/instrumentation/core/http.js +20 -118
- package/lib/instrumentations.js +0 -14
- package/lib/otel/logs/index.js +80 -0
- package/lib/otel/metrics/index.js +119 -0
- package/lib/otel/setup-signal.js +37 -0
- package/lib/otel/setup.js +15 -25
- package/lib/otel/{attr-reconciler.js → traces/attr-reconciler.js} +2 -2
- package/lib/otel/{exception-mapping.js → traces/exception-mapping.js} +1 -1
- package/lib/otel/traces/index.js +40 -0
- package/lib/otel/{rules.js → traces/rules.js} +1 -1
- package/lib/otel/{segment-synthesis.js → traces/segment-synthesis.js} +5 -4
- package/lib/otel/{segments → traces/segments}/consumer.js +4 -4
- package/lib/otel/{segments → traces/segments}/database.js +6 -6
- package/lib/otel/{segments → traces/segments}/http-external.js +11 -8
- package/lib/otel/traces/segments/index.js +22 -0
- package/lib/otel/{segments → traces/segments}/internal.js +1 -1
- package/lib/otel/{segments → traces/segments}/producer.js +2 -2
- package/lib/otel/{segments → traces/segments}/server.js +4 -4
- package/lib/otel/{segments → traces/segments}/utils.js +1 -1
- package/lib/otel/{span-processor.js → traces/span-processor.js} +13 -19
- package/lib/otel/{transformation-rules.json → traces/transformation-rules.json} +3 -2
- package/lib/otel/{utils.js → traces/utils.js} +2 -1
- package/lib/serverless/api-gateway.js +1 -1
- package/lib/serverless/aws-lambda.js +7 -68
- package/lib/shim/webframework-shim/middleware.js +1 -1
- package/lib/shimmer.js +1 -1
- package/lib/subscriber-configs.js +2 -1
- package/lib/subscribers/base.js +30 -0
- package/lib/subscribers/elasticsearch/config.js +1 -0
- package/lib/subscribers/mcp-sdk/client-request.js +66 -0
- package/lib/subscribers/mcp-sdk/config.js +13 -75
- package/lib/subscribers/openai/base.js +21 -0
- package/lib/subscribers/openai/chat-responses.js +15 -0
- package/lib/subscribers/openai/chat.js +85 -0
- package/lib/subscribers/openai/client.js +31 -0
- package/lib/subscribers/openai/config.js +85 -0
- package/lib/subscribers/openai/embeddings.js +54 -0
- package/lib/subscribers/openai/utils.js +349 -0
- package/lib/transaction/index.js +158 -56
- package/lib/transaction/trace/segment.js +5 -2
- package/lib/util/urltils.js +158 -192
- package/lib/utilization/common.js +0 -6
- package/package.json +1 -1
- package/lib/instrumentation/openai.js +0 -482
- package/lib/otel/logs/bootstrap-logs.js +0 -84
- package/lib/otel/metrics/bootstrap-metrics.js +0 -117
- package/lib/otel/segments/index.js +0 -22
- package/lib/subscribers/mcp-sdk/client-prompt.js +0 -23
- package/lib/subscribers/mcp-sdk/client-resource.js +0 -24
- package/lib/subscribers/mcp-sdk/client-tool.js +0 -23
- package/lib/subscribers/mcp-sdk/client.js +0 -29
- /package/lib/otel/{constants.js → traces/constants.js} +0 -0
- /package/lib/otel/{sampler.js → traces/sampler.js} +0 -0
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 New Relic Corporation. All rights reserved.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
'use strict'
|
|
7
|
-
|
|
8
|
-
const McpClientSubscriber = require('./client')
|
|
9
|
-
const { MCP } = require('../../metrics/names')
|
|
10
|
-
|
|
11
|
-
class McpClientPromptSubscriber extends McpClientSubscriber {
|
|
12
|
-
constructor({ agent, logger }) {
|
|
13
|
-
super({ agent, logger, channelName: 'nr_getPrompt' })
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
handler(data, ctx) {
|
|
17
|
-
const promptName = data?.arguments?.[0]?.name
|
|
18
|
-
this.segmentName = `${MCP.PROMPT}/getPrompt/${promptName}`
|
|
19
|
-
return super.handler(ctx)
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = McpClientPromptSubscriber
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 New Relic Corporation. All rights reserved.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
'use strict'
|
|
7
|
-
|
|
8
|
-
const McpClientSubscriber = require('./client')
|
|
9
|
-
const { MCP } = require('../../metrics/names')
|
|
10
|
-
|
|
11
|
-
class McpClientResourceSubscriber extends McpClientSubscriber {
|
|
12
|
-
constructor({ agent, logger }) {
|
|
13
|
-
super({ agent, logger, channelName: 'nr_readResource' })
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
handler(data, ctx) {
|
|
17
|
-
const uri = data?.arguments?.[0]?.uri
|
|
18
|
-
const scheme = typeof uri === 'string' ? uri.split('://')[0] : undefined
|
|
19
|
-
this.segmentName = `${MCP.RESOURCE}/readResource/${scheme}`
|
|
20
|
-
return super.handler(ctx)
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
module.exports = McpClientResourceSubscriber
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 New Relic Corporation. All rights reserved.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
'use strict'
|
|
7
|
-
|
|
8
|
-
const McpClientSubscriber = require('./client')
|
|
9
|
-
const { MCP } = require('../../metrics/names')
|
|
10
|
-
|
|
11
|
-
class McpClientToolSubscriber extends McpClientSubscriber {
|
|
12
|
-
constructor({ agent, logger }) {
|
|
13
|
-
super({ agent, logger, channelName: 'nr_callTool' })
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
handler(data, ctx) {
|
|
17
|
-
const toolName = data?.arguments?.[0]?.name
|
|
18
|
-
this.segmentName = `${MCP.TOOL}/callTool/${toolName}`
|
|
19
|
-
return super.handler(ctx)
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = McpClientToolSubscriber
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 New Relic Corporation. All rights reserved.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
'use strict'
|
|
7
|
-
|
|
8
|
-
const Subscriber = require('../base')
|
|
9
|
-
|
|
10
|
-
class McpClientSubscriber extends Subscriber {
|
|
11
|
-
constructor({ agent, logger, channelName }) {
|
|
12
|
-
super({ agent, logger, packageName: '@modelcontextprotocol/sdk', channelName })
|
|
13
|
-
this.events = ['asyncEnd']
|
|
14
|
-
this.segmentName = 'Unknown'
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
get enabled() {
|
|
18
|
-
return super.enabled && this.config.ai_monitoring.enabled === true
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
handler(ctx) {
|
|
22
|
-
return this.createSegment({
|
|
23
|
-
name: this.segmentName,
|
|
24
|
-
ctx
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
module.exports = McpClientSubscriber
|
|
File without changes
|
|
File without changes
|