Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.31.0 #888

Merged
merged 48 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
b144cd1
added Dockerfile for example server
nr-swilloughby Feb 25, 2024
eb118e8
add nil error check in wrap function
profawxhawk Mar 3, 2024
43f0d5e
Update CHANGELOG.md fix EOL policy link
iamemilio Mar 5, 2024
e4e5c45
Update v3/integrations/nrpkgerrors/nrpkgerrors.go
profawxhawk Mar 6, 2024
4b53623
Merge pull request #862 from profawxhawk/add-nil-err
iamemilio Mar 6, 2024
67fecce
Merge pull request #864 from iamemilio/fix_eol_policy
iamemilio Mar 13, 2024
3ca0b8a
Updated host to collector
mirackara Mar 19, 2024
4da4344
OpenAI Integration (#860)
mirackara Mar 19, 2024
9ab7142
wip
nr-swilloughby Mar 20, 2024
b829720
Merge branch 'develop' into bedrock
nr-swilloughby Mar 20, 2024
fcaddba
wip bedrock
nr-swilloughby Mar 21, 2024
f7bdaf8
fixed nrawssdk-v2
nr-swilloughby Mar 21, 2024
0c2f107
fixed high security vs. ai monitoring
nr-swilloughby Mar 21, 2024
6c61a3b
Merge pull request #873 from nr-swilloughby/bedrock
nr-swilloughby Mar 21, 2024
75d681e
tweaks after testing
nr-swilloughby Mar 21, 2024
b6c1693
stubbed out revised streaming functions
nr-swilloughby Mar 21, 2024
c411bcd
refined json data payload search algorithm
nr-swilloughby Mar 23, 2024
6c7afcf
removed stripping of "v" from library version number
nr-swilloughby Mar 23, 2024
28c40bd
streaming in place
nr-swilloughby Mar 25, 2024
9f0c745
removed attribute size limits and high security block for LLM custom …
nr-swilloughby Mar 25, 2024
0575551
backed out high security check for llm custom events
nr-swilloughby Mar 25, 2024
3480bb1
Merge pull request #874 from nr-swilloughby/bedrock2
nr-swilloughby Mar 25, 2024
67c0a92
OpenAI - Added Support for Token Callback / Bug Fixes (#875)
mirackara Mar 25, 2024
a3a13d8
fixes missing "llm" transaction attr and handling of bedrock streams
nr-swilloughby Mar 25, 2024
a3dbcec
openai changes
mirackara Mar 25, 2024
1347596
Close stream after response is finished
mirackara Mar 25, 2024
7c7f738
added feedback to streaming example
mirackara Mar 25, 2024
95cd5b8
token callback extra check
mirackara Mar 25, 2024
f1274d0
Merge pull request #876 from nr-swilloughby/bedrock3
nr-swilloughby Mar 25, 2024
8bd6b0b
Corrected token count issue and added token callback for streaming
mirackara Mar 25, 2024
cae089b
Merge pull request #877 from mirackara/openaichanges
nr-swilloughby Mar 26, 2024
5cf045b
Merge pull request #871 from mirackara/address-change
nr-swilloughby Mar 26, 2024
addbe94
changelog, bump version
nr-swilloughby Mar 27, 2024
3ecd852
Openai bug squash (#884)
mirackara Mar 27, 2024
171a65b
updated release notes
nr-swilloughby Mar 27, 2024
cde46de
updated release notes
nr-swilloughby Mar 27, 2024
2fc1cc8
updated release notes
nr-swilloughby Mar 27, 2024
8bfcbfc
Add request model to chat completion message (#885)
mirackara Mar 27, 2024
49c08a8
Bump github.com/jackc/pgx/v4 in /v3/integrations/nrpgx (#866)
dependabot[bot] Mar 27, 2024
dbc2a31
Bump github.com/jackc/pgx/v5 from 5.0.3 to 5.5.4 in /v3/integrations/…
dependabot[bot] Mar 27, 2024
819313c
Bump google.golang.org/protobuf in /v3/integrations/nrgrpc (#868)
dependabot[bot] Mar 27, 2024
742f90f
Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /v3/integrat…
dependabot[bot] Mar 27, 2024
6bf0dab
Merge pull request #858 from nr-swilloughby/dockerizedserver
nr-swilloughby Mar 27, 2024
b6e465e
Fix finish reason string formatting in NRCreateChatCompletionSummary …
mirackara Mar 27, 2024
471c1f3
updated release notes
nr-swilloughby Mar 27, 2024
2845089
Merge pull request #882 from nr-swilloughby/release_3_31_0
nr-swilloughby Mar 27, 2024
1a00203
Add request.model attribute to NRCreateChatCompletion test (#887)
mirackara Mar 27, 2024
27d840e
staged for release
nr-swilloughby Mar 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ jobs:
- dirs: v3/integrations/nrmongo
- dirs: v3/integrations/nrgraphqlgo,v3/integrations/nrgraphqlgo/example
- dirs: v3/integrations/nrmssql
- dirs: v3/integrations/nropenai
steps:
- name: Checkout Code
uses: actions/checkout@v2
Expand Down
52 changes: 47 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
## 3.31.0
### Added
* Integration packages to instrument AI model invocations (see below).
* New package nrawsbedrock v1.0.0 introduced to instrument calls to Amazon Bedrock Runtime Client API `InvokeModel` and `InvokeModelWithResponseStream` calls. Also provides a simple one-step method which invokes stream invocations and harvests the response stream data for you.
* New package nropenai v1.0.0 introduced to instrument calls to OpenAI using `NRCreateChatCompletion`, `NRCreateChatCompletionStream`, and `NRCreateEmbedding` calls.
* Dockerfile in the `examples/server` sample app which facilitates the easy creation of a containerized ready-to-run sample app for situations where that makes testing easier.

### Fixed
* `.Ignore` was not ignoring transaction. Fixes [Issue #845](https://github.com/newrelic/go-agent/issues/845).
* Added nil error check in wrap function. Fixes [Issue #862](https://github.com/newrelic/go-agent/issues/862).
* `WrapBackgroundCore` background logger was not sending logs to New Relic. Fixes [Issue #859](https://github.com/newrelic/go-agent/issues/859).
* Corrected pgx5 integration example which caused a race condition. Thanks to @WillAbides! Fixes [Issue #855](https://github.com/newrelic/go-agent/issues/855).
* Updated third-party library versions due to reported security or other supportability issues:
* `github.com/jackc/pgx/v5` to 5.5.4 in `nrpgx5` integration
* `google.gopang.org/protobuf` to 1.33.0 in `nrmicro` and `nrgrpc` integrations
* `github.com/jackc/pgx/v4` to 4.18.2 in `nrpgx` integration

### AI Monitoring Configuration
New configuration options are available specific to AI monitoring. These settings include:
* `AIMonitoring.Enabled`, configured via `ConfigAIMonitoring.Enabled(`_bool_`)` [default `false`]
* `AIMonitoring.Streaming.Enabled`, configured via `ConfigAIMonitoringStreamingEnabled(`_bool_`)` [default `true`]
* `AIMonitoring.Content.Enabled`, configured via `ConfigAIMonitoringContentEnabled(`_bool_`)` [default `true`]

### AI Monitoring Public API Methods
Two new AI monitoring related public API methods have been added, as methods of the `newrelic.Application` value returned by `newrelic.NewApplication`:
* [app.RecordLLMFeedbackEvent](https://pkg.go.dev/github.com/newrelic/go-agent/v3/newrelic#Application.RecordLLMFeedbackEvent)
* [app.SetLLMTokenCountCallback](https://pkg.go.dev/github.com/newrelic/go-agent/v3/newrelic#Application.SetLLMTokenCountCallback)

### AI Monitoring
New Relic AI monitoring is the industry’s first APM solution that provides end-to-end visibility for AI Large Language Model (LLM) applications. It enables end-to-end visibility into the key components of an AI LLM application. With AI monitoring, users can monitor, alert, and debug AI-powered applications for reliability, latency, performance, security and cost. AI monitoring also enables AI/LLM specific insights (metrics, events, logs and traces) which can easily integrate to build advanced guardrails for enterprise security, privacy and compliance.

AI monitoring offers custom-built insights and tracing for the complete lifecycle of an LLM’s prompts and responses, from raw user input to repaired/polished responses. AI monitoring provides built-in integrations with popular LLMs and components of the AI development stack. This release provides instrumentation for [OpenAI](https://pkg.go.dev/github.com/newrelic/go-agent/v3/integrations/nropenai)
and [Bedrock](https://pkg.go.dev/github.com/newrelic/go-agent/v3/integrations/nrawsbedrock).

When AI monitoring is enabled with `ConfigAIMonitoringEnabled(true)`, the agent will now capture AI LLM related data. This data will be visible under a new APM tab called AI Responses. See our [AI Monitoring documentation](https://docs.newrelic.com/docs/ai-monitoring/intro-to-ai-monitoring/) for more details.

### Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the [Go agent EOL Policy](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/go-agent-eol-policy/) for details about supported versions of the Go agent and third-party components.



## 3.30.0
### Added
* Updated the depencency on nrsecurityagent to 1.0.0.
Expand All @@ -8,7 +50,7 @@

### Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol-policy) for details about supported versions of the Go agent and third-party components.
See the [Go agent EOL Policy](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/go-agent-eol-policy/) for details about supported versions of the Go agent and third-party components.

## 3.29.1
### Added
Expand All @@ -19,7 +61,7 @@ See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol

### Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol-policy) for details about supported versions of the Go agent and third-party components.
See the [Go agent EOL Policy](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/go-agent-eol-policy/) for details about supported versions of the Go agent and third-party components.

## 3.29.0
### Added
Expand All @@ -31,7 +73,7 @@ See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol

### Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol-policy) for details about supported versions of the Go agent and third-party components.
See the [Go agent EOL Policy](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/go-agent-eol-policy/) for details about supported versions of the Go agent and third-party components.

## 3.28.1
### Added
Expand All @@ -43,7 +85,7 @@ Fixed an issue where `nil` `Request.Body` could be set to non-`nil` `request.Bod
More Secure URL Redaction
### Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol-policy) for details about supported versions of the Go agent and third-party components.
See the [Go agent EOL Policy](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/go-agent-eol-policy/) for details about supported versions of the Go agent and third-party components.

## 3.28.0
### Fixed
Expand All @@ -57,7 +99,7 @@ See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol

We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.

See the [Go agent EOL Policy](/docs/apm/agents/go-agent/get-started/go-agent-eol-policy) for details about supported versions of the Go agent and third-party components.
See the [Go agent EOL Policy](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/go-agent-eol-policy/) for details about supported versions of the Go agent and third-party components.


## 3.27.0
Expand Down
51 changes: 51 additions & 0 deletions v3/examples/server/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# If it is more convenient for you to run an instrumented test server in a Docker
# container, you can use this Dockerfile to build an image for that purpose.
#
# To build this image, have this Dockerfile in the current directory and run:
# docker build -t go-agent-test .
#
# To run a test, run the following:
# docker run -e NEW_RELIC_LICENSE_KEY="YOUR_KEY_HERE" -p 127.0.0.1:8000:8000 go-agent-test
# then drive traffic to it on localhost port 8000
#
# This running application will write debugging logs showing all interaction
# with the collector on its standard output.
#
# The following HTTP endpoints can be accessed on port 8000 to invoke different
# instrumented server features:
# /
# /add_attribute
# /add_span_attribute
# /async
# /background
# /background_log
# /browser
# /custom_event
# /custommetric
# /external
# /ignore
# /log
# /message
# /mysql
# /notice_error
# /notice_error_with_attributes
# /notice_expected_error
# /roundtripper
# /segments
# /set_name
# /version
#
FROM golang:1.22
MAINTAINER Steve Willoughby <swilloughby@newrelic.com>
WORKDIR /go
RUN git clone https://github.com/newrelic/go-agent
WORKDIR /go/go-agent/v3
RUN go mod tidy
WORKDIR /go/go-agent/v3/examples/server
RUN go mod tidy
RUN go build
EXPOSE 8000
CMD ["/go/go-agent/v3/examples/server/server"]
#
# END
#
1 change: 1 addition & 0 deletions v3/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ go 1.19

require (
github.com/golang/protobuf v1.5.3
golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81
google.golang.org/grpc v1.56.3
)

Expand Down
2 changes: 1 addition & 1 deletion v3/integrations/logcontext-v2/logWriter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext-v2/logWriter
go 1.19

require (
github.com/newrelic/go-agent/v3 v3.30.0
github.com/newrelic/go-agent/v3 v3.31.0
github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrwriter v1.0.0
)

Expand Down
2 changes: 1 addition & 1 deletion v3/integrations/logcontext-v2/nrlogrus/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrlogrus
go 1.19

require (
github.com/newrelic/go-agent/v3 v3.30.0
github.com/newrelic/go-agent/v3 v3.31.0
github.com/sirupsen/logrus v1.8.1
)

Expand Down
3 changes: 2 additions & 1 deletion v3/integrations/logcontext-v2/nrslog/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrslog

go 1.19

require github.com/newrelic/go-agent/v3 v3.30.0
require github.com/newrelic/go-agent/v3 v3.31.0


replace github.com/newrelic/go-agent/v3 => ../../..
2 changes: 1 addition & 1 deletion v3/integrations/logcontext-v2/nrwriter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrwriter

go 1.19

require github.com/newrelic/go-agent/v3 v3.30.0
require github.com/newrelic/go-agent/v3 v3.31.0


replace github.com/newrelic/go-agent/v3 => ../../..
2 changes: 1 addition & 1 deletion v3/integrations/logcontext-v2/nrzap/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrzap
go 1.19

require (
github.com/newrelic/go-agent/v3 v3.30.0
github.com/newrelic/go-agent/v3 v3.31.0
go.uber.org/zap v1.24.0
)

Expand Down
2 changes: 1 addition & 1 deletion v3/integrations/logcontext-v2/nrzerolog/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrzerolog
go 1.19

require (
github.com/newrelic/go-agent/v3 v3.30.0
github.com/newrelic/go-agent/v3 v3.31.0
github.com/rs/zerolog v1.26.1
)

Expand Down
2 changes: 1 addition & 1 deletion v3/integrations/logcontext-v2/zerologWriter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext-v2/zerologWriter
go 1.19

require (
github.com/newrelic/go-agent/v3 v3.30.0
github.com/newrelic/go-agent/v3 v3.31.0
github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrwriter v1.0.0
github.com/rs/zerolog v1.27.0
)
Expand Down
2 changes: 1 addition & 1 deletion v3/integrations/logcontext/nrlogrusplugin/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module github.com/newrelic/go-agent/v3/integrations/logcontext/nrlogrusplugin
go 1.19

require (
github.com/newrelic/go-agent/v3 v3.30.0
github.com/newrelic/go-agent/v3 v3.31.0
// v1.4.0 is required for for the log.WithContext.
github.com/sirupsen/logrus v1.4.0
)
Expand Down
2 changes: 1 addition & 1 deletion v3/integrations/nramqp/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/newrelic/go-agent/v3/integrations/nramqp
go 1.19

require (
github.com/newrelic/go-agent/v3 v3.30.0
github.com/newrelic/go-agent/v3 v3.31.0
github.com/rabbitmq/amqp091-go v1.9.0
)
replace github.com/newrelic/go-agent/v3 => ../..
Loading
Loading