Skip to content

Commit 1fbc50d

Browse files
committed
Merge branch 'feat/dynamodb_instrumentation' of github.com:newrelic/newrelic-php-agent into feat/dynamodb_instrumentation
2 parents 29627f0 + afa5f03 commit 1fbc50d

File tree

8 files changed

+32
-24
lines changed

8 files changed

+32
-24
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
11.7.0
1+
11.8.0

agent/lib_aws_sdk_php.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "nr_segment_datastore.h"
1414
#include "nr_segment_datastore_private.h"
1515

16+
1617
#if ZEND_MODULE_API_NO >= ZEND_8_1_X_API_NO /* PHP8.1+ */
1718
/* Service instrumentation only supported above PHP 8.1+*/
1819

agent/php_mshutdown.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "nr_agent.h"
1717
#include "util_logging.h"
1818
#include "fw_wordpress.h"
19+
#include "lib_aws_sdk_php.h"
1920

2021
#ifdef TAGS
2122
void zm_shutdown_newrelic(void); /* ctags landing pad only */

axiom/nr_version.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@
4848
* diamond 09Dec2024 (11.4)
4949
* emerald 13Jan2025 (11.5)
5050
* fluorite 18Feb2025 (11.6)
51+
* gaspeite 19Mar2025 (11.7)
5152
*/
52-
#define NR_CODENAME "gaspeite"
53+
#define NR_CODENAME "hiddenite"
5354

5455
const char* nr_version(void) {
5556
return NR_STR2(NR_VERSION);

daemon/go.mod

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
module github.com/newrelic/newrelic-php-agent/daemon
22

3-
go 1.21
4-
3+
go 1.23.0
54
toolchain go1.23.6
65

76
require (
87
github.com/golang/protobuf v1.5.3
98
github.com/google/flatbuffers v23.5.26+incompatible
10-
golang.org/x/net v0.33.0
9+
golang.org/x/net v0.36.0
1110
google.golang.org/grpc v1.61.0
1211
google.golang.org/protobuf v1.33.0
1312
)
1413

1514
require (
16-
golang.org/x/sys v0.28.0 // indirect
17-
golang.org/x/text v0.21.0 // indirect
15+
golang.org/x/sys v0.30.0 // indirect
16+
golang.org/x/text v0.22.0 // indirect
1817
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect
1918
)

daemon/go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZat
66
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
77
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
88
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
9-
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
10-
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
11-
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
12-
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
13-
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
14-
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
9+
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
10+
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
11+
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
12+
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
13+
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
14+
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
1515
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1616
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14=
1717
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA=

daemon/internal/newrelic/log_events.go

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,25 @@ func (events *LogEvents) CollectorJSON(id AgentRunID) ([]byte, error) {
7676
estimate := len(es) * 128
7777
buf.Grow(estimate)
7878
buf.WriteString(`[{` +
79-
`"common": {"attributes": {`)
79+
`"common": {"attributes": `)
8080
nwrit := 0
81-
for _, value := range events.LogForwardingLabels {
82-
if nwrit > 0 {
83-
buf.WriteByte(',')
81+
labelMap := make(map[string]string)
82+
for _, label := range events.LogForwardingLabels {
83+
// safegaurd against invalid labels
84+
if len(label.LabelType) != 0 && len(label.LabelValue) != 0 {
85+
labelMap["tags."+label.LabelType] = label.LabelValue
8486
}
85-
nwrit++
86-
buf.WriteString(`"tags.`)
87-
buf.WriteString(value.LabelType)
88-
buf.WriteString(`":"`)
89-
buf.WriteString(value.LabelValue)
90-
buf.WriteString(`"`)
9187
}
9288

93-
buf.WriteString(`}},` +
89+
j, e := json.Marshal(labelMap)
90+
if e != nil {
91+
log.Errorf("failed to marshal log label: %s", e)
92+
buf.WriteString("{}")
93+
} else {
94+
buf.Write(j)
95+
}
96+
97+
buf.WriteString(`},` +
9498
`"logs": [`)
9599

96100
nwrit = 0

daemon/internal/newrelic/log_events_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ var (
2727
LogForwardingLabelsTestCase{name: "Invalid keys", labels: `[{"label_tipe":"type1","label_valyue":"value1"}]`, expected: `{}`},
2828
LogForwardingLabelsTestCase{name: "Space in value", labels: `[{"label_type":"type1","label_value":"value 1"}]`, expected: `{"tags.type1":"value 1"}`},
2929
LogForwardingLabelsTestCase{name: "Space in key", labels: `[{"label_type":"type 1","label_value":"value1"}]`, expected: `{"tags.type 1":"value1"}`},
30+
LogForwardingLabelsTestCase{name: "Empty value", labels: `[{"label_type":"type1","label_value":""}]`, expected: `{}`},
31+
LogForwardingLabelsTestCase{name: "Empty key", labels: `[{"label_type":"","label_value":"value1"}]`, expected: `{}`},
3032
}
3133
)
3234

0 commit comments

Comments
 (0)