forked from zokusai/openshift-cartridge-newrelic-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG_NEW_RELIC
executable file
·1021 lines (695 loc) · 37.7 KB
/
CHANGELOG_NEW_RELIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
CHANGELOG
=========
v3.4.2
------
* Fix: Solr caches and Solr updates data not appearing
Starting with version 3.4.1, Solr caches and updates were not appearing in
the UI. This bug has been fixed.
* Fix: JVM tab thread pool, session and transaction data not appearing
Starting with version 3.4.1, some data was not appearing under the JVM tab.
This bug has been fixed.
v3.4.1
------
* Fix: In some cases, Play 2.2 didn't report transactions
When a chain of promises resolved, specifically using Future.flatMap(),
lingering promises prevented the transaction from completing, in which
case the transaction wouldn't be reported for the app. This is now
tracked correctly.
* Fix: Improved performance when instrumented code is not running in a transaction
Avoids unnecessary work when code instrumented by the Java agent is not
running in the scope of a transaction.
v3.4.0
------
* Fix: Java agent should honor enable_auto_app_naming
Starting with Java agent 3.3.1, the enable_auto_app_naming flag was being
ignored. This bug has been fixed.
* Fix: Setting configuration properties in newrelic.yml configuration file.
Starting with version 3.0, some properties such as max_stack_trace_lines
could not be set in the newrelic.yml configuration property. This bug has
been fixed.
* Fix: Java agent should honor JAX-RS annotations with New Relic annotations
New Relic's Java agent should handle methods that contain a New Relic
annotation along with a JAX-RS annotation correctly. Previously the New
Relic annotation was being ignored.
* Fix: Play transaction does not complete until timeout expires
New Relic's Java agent now handles firstCompletedOf to Futures
correctly.
* Additional functionality to API call addCustomParameter
New Relic's API call addCustomParameter will now add the custom
parameters to the system codenamed Rubicon. For more information, see
http://newrelic.com/software-analytics
v3.3.2
------
* Fix: Duplicate annotation exception
In some rare cases involving generated a proxy class, the application may
encounter an exception
AnnotationFormatError: Duplicate annotation for class
That bug has been fixed in this version.
* Fix: VerifyError
In certain cases such as the Wildfly app server, the application may
encounter a VerifyError. That bug has been fixed in this version.
v3.3.1
------
* JMS Messaging
New Relic now gives you insight into the performance of your JMS message
processing, both incoming and outgoing messages.
New Relic now shows transactions initiated via JMS 1.1 message receipt.
These transactions show up in the New Relic UI as background tasks of type
"Message". In addition, JMS 1.1 message creation is shown in transaction
traces.
* Grails 1.3.7 to 2.3.x
New Relic now provides first-class visibility into your Grails
applications. Grails web transactions are now named based on the Grails
controller. The transactions track the details of your calls to JDBC,
Hibernate, and other important frameworks, and provides full access to
the New Relic Java agent API from Groovy.
* Updated instrumentation for supported app servers
New Relic has updated the instrumentation of the application servers
we support. In the process, we have updated the list of app
servers that we instrument. For a current list of supported app server
versions, see https://docs.newrelic.com/docs/java/new-relic-for-java
* Fix: New Relic did not instrument Apache HttpClient 4.3
Previous versions of the agent did not instrument HttpClient 4.3.x.
That version is now properly supported.
* Fix: Java Agent failed on Weblogic with a certicate exception
In some cases running Weblogic, the Java Agent would fail certificate
validation when connecting to New Relic. That bug has been fixed.
* Fix: Java Agent suppressed application logging
In version 3.2.3, the Java agent sometimes suppressed application
logging. That bug has been fixed in this version.
* Fix: Java Agent was logging error messages regarding "weaved classes"
In version 3.2, the Java agent wrote innocuous error messages to its log
similar to the following:
ERROR: javax/servlet/ServletOutputStream is marked as a weaved class,
but no methods are matched to be weaved.
That bug has been fixed in this version.
* Fix: Text instructions in the sample newrelic.yml file were improved
If you are upgrading from a previous version of the agent, consider
applying your configuration to this new version of the yml file.
v3.2.3
------
* Fix: JBoss 7 fails to start with Java 1.6
Starting with version 3.2.0 of the Java agent, JBoss 7 application servers
fail to start when running Java 1.6. An IllegalStateException is printed to
System.out. This bug has been fixed.
v3.2.2
------
* Fix: Play 2.2 instrumentation in action methods
In version 3.2.0 and 3.2.1, the Java agent failed to instrument calls present
in a controller's action method. This means database calls, external calls,
and custom instrumented calls within the action method were not being reported
to New Relic. This bug has been fixed.
* Fix: Invalid exclusive time Errors with Play 2.2
In version 3.2.0 and 3.2.1, the Java agent sometimes reported error messages
to the newrelic log indicating an "Invalid exclusive time". This error
has been fixed.
* Fix: Inaccurate async wait time with Play 2.x
In version 3.2.0 and 3.2.1, the Java agent reported an async wait time for
Play 2.x transactions that was too large. This bug has been fixed.
v3.2.1
------
* Fix: Exceptions thrown from conflicting JAXB versions
The New Relic Java agent now supports customers using any JAXB or Xerces
version. This bug was introduced in version 3.1.0.
* Fix: Usage of the newrelic.bootstrap_classpath system property
In version 3.2.0, the newrelic.bootstrap_classpath system property caused
an IllegalAccessError. That bug has been fixed. Note also that this system
property has been deprecated and should not be used.
* Fix: Data collection for customers using the IBM JVM without WebSphere
New Relic now supports customers using an IBM JVM without running
WebSphere. In this scenario, you must set the sync_startup flag set to
true in the common section of their newrelic.yml.
sync_startup: true
v3.2.0
------
* Glassfish 4 metrics for JVM Memory, Thread Pool, and Transactions
New Relic now displays JVM memory, thread pool, and transaction metrics for
Glassfish 4. To expose these metrics, please set http-service, transaction-
service, and web-container monitoring within Glassfish to high. To see the
metrics in New Relic, go to Monitoring > JVMs.
* Decreased agent overhead for Play 2
This version of the agent reduces the overhead that it incurs on Play 2.
Play 2 users should upgrade for improved performance.
In addition to general overhead improvements, New Relic has introduced a
new setting to reduce overhead even more for particularly low-latency
applications. Note that this setting will make the call info in Trace
Details more generic.
transaction_tracer:
stack_based_naming: false
* Manually disable auto RUM instrumentation for specific pages
For supported JSP engines, New Relic automatically adds RUM (Real User
Monitoring) elements to the response HTML. If you like auto-RUM, but do
not want to apply it to all pages, you can now disable it for select pages.
The configuration property disabled_auto_pages in the browser_monitoring
section can now be used to disable auto RUM instrumentation for a comma
delimited list of pages. For example,
browser_monitoring:
disabled_auto_pages: page1.jsp, page2.jsp
* akka.actor.ActorKilledException is now ignored by default
The ActorKilledException is commonly thrown in Play applications as a
control mechanism in normally functioning applications. In previous
versions, this exception inflated the reported error rate. These
exceptions are now ingored by default. You can override the default
ignore_errors list to provide your own exceptions or to omit the
ActorKilledException.
error_collector:
ignore_errors: some.other.MyException
* New Relic reports host capacity information
New Relic now reports physical CPU cores, logical CPU cores (hyperthreads),
and physical memory. On non-Linux platforms, the agent runs a subprocess
to retrieve this information. To see the info in New Relic, go to
Settings > Environment > Environment Snapshot.
* Report JVM name and revision to New Relic as part of JVM description
Recording the JVM name in addition to the vendor allows differentiation
between different JVMs from the same vendor. To see these values in New
Relic, go to Settings > Environment > Environment Snapshot and look for the
"Java VM" and "Java VM Version" settings.
* Fix: Support for Play 2.2
Web transactions were not being correctly captured under some circumstances
for Play 2.2 applications. Web transactions are now correctly reported.
Also note the change in command line syntax as of Play 2.2:
https://docs.newrelic.com/docs/java/play-installation-for-java
* Fix: Background tasks created by an @Trace annotation with a 'metricName' element
did not show up in the New Relic UI.
v3.1.0
------
* Percentiles and Histograms
The Java Agent now captures data that provides percentile and histogram
views in the New Relic UI.
* JAX-RS annotation instrumentation
The Java Agent now instruments and names web transactions based on
javax.ws.rs annotations.
* JAX-WS instrumentation
The Java Agent now instruments methods on classes that are marked with the
javax.jws.WebService annotation.
* Fix: In some cases, agent had excessive overhead on Spring AOP apps
The agent should now perform well for any Spring AOP application.
* Fix: Play Framework instrumentation was ignoring the ignoreTransaction call
The Play Framework 2.x instrumentation now honors the New Relic API
ignoreTransaction call.
* Fix: Potential memory leak when app continually creates ClassLoaders
The Java Agent now handles applications where ClassLoaders are
continuously created.
* Fix: Agent zip distribution did not include the API source jar
The newrelic-api-sources.jar is now included in the zip file.
v3.0.1
------
* Fix: Issue at startup with JBoss and Glassfish
An issue in the 3.0.0 version caused startup of some versions of JBoss
and Glassfish to fail. This version fixes that issue.
* Fix: RUM not auto-instrumented for JSPs
The Java Agent should auto-instrument RUM header and footer in JSPs
when using the Jasper engine. This did not work in 3.0.0. This version
fixes that issue.
v3.0.0
------
* Spring AOP instrumentation
This version instruments any call that passes through an AOP pointcut that
you have declared in your Spring application. This gives your additional
insight into the call time of key Spring beans.
* Performance Improvements
This version contains optimizations that reduce agent overhead.
* Fixes: Hibernate improvements
In this version, we provide more consistent detail into Hibernate calls
across supported version of Hibernate (3.3 - 4.2).
* Fix: Removed need for WebSphere SSL work-around
Previous versions sometimes required a work-around when using WebSphere.
This version removes the need for a work-around.
* NOTE: Requires Java SE 6 or 7
Java Agent 3.0 requires Java SE 6 or 7. At signup or in your Account Settings
page, you have the option to download a version of the agent that works with
Java SE 5.
v2.21.4
-------
* Fix: Metric Grouping Issue with Netty
The request URL was referenced in some metric names, causing
Metric Explosion. The URL is no longer included in the metric name.
* Fix: Make Cookie parsing more robust when running on Netty
Cases where the Cookie header was malformed were causing exceptions to be thrown.
Agent now makes a better effort to capture the individual valid parts.
* Fix: Agent could not connect to New Relic in non-DNS environments
Fixed an issue which caused the agent to only be able to connect to New Relic in
environments where DNS was used for hostname resolution.
* Fix: In 2.21.2 and 2.21.3 an @Trace annotation ignored the transaction for Apdex
An @Trace annotation on a method called in a web transaction had
the side-effect of ignoring the transaction for calculating the Apdex score.
v2.21.3
-------
* Fix: Agent did not run with J2SE 5.0 (aka JDK 1.5)
Release 2.21.0 - 2.21.2 did not run correctly on J2SE 5.0. On startup,
the agent reports:
Unable to start New Relic agent: java.lang.UnsupportedClassVersionError:
Bad version number in .class file
If you are running J2SE 5.0, please update to agent version 2.21.3.
v2.21.2
-------
* Fix: Longer application startup time
Release 2.21.0 introduced an issue that could cause application startup
to be slower than in previously releases. This fix returns application
startup time to normal.
* Fix: File location changes
Release 2.21.0 introduced a change to file locations within the
newrelic zip file. This fix reverts the locations to what they were
previously.
v2.21.1
-------
* Fix: In 2.21.0, calls to NewRelic class can cause NoClassDefFoundError
In 2.21.0, if your application calls the NewRelic class and does
not include the newrelic-api.jar, the application would throw a
NoClassDefFoundError. With this fix, the separate newrelic-api.jar is
not required. However, it is recommended that your application include
the newrelic-api.jar so that calls to the NewRelic API resolve with or
without the agent installed.
v2.21.0
-------
* X-Ray sessions
Adds support for X-Ray sessions. An X-Ray session collects
Transaction Traces and a thread profile for a Key Transaction.
* Fix: In 2.20.0 an @Trace annotation ignored the transaction for Apdex
An @Trace annotation on a method called in a web transaction had
the side-effect of ignoring the transaction for calculating the Apdex score.
* Fix: HTTP status code for Errors
If the HTTP status code for a web transaction was less than 400, the HTTP
status code reported in the error was 500. The actual status code for the
web request is now reported.
* Fix: Spring exception handling
The Exception argument in the Spring DispatcherServlet processHandlerException method
was reported as an Error with an HTTP status code of 500. The actual status code
in the HTTP response is now reported.
* Fix: Reading Post Parameters for Resin 3
Prior to this fix, post parameters in Resin 3 were always read using the
default properties even if the application tried to read the post parameters
using non-default properties or by just grabbing the request input stream.
* Fix: JVM Tab Metrics Not Showing up for Tomcat Applications
Prior to this fix, if the service name in service.xml was not Catalina, then
metrics would not appear under the JVM tab. Additionally, if you are using an
embedded Tomcat 5/6, metrics should now appear under the JVM tab.
* Fix: Improved compatibility with Java 1.5
In the custom xml validator, there were references to String.isEmpty() which
was not available until Java 1.6. Those have been removed.
* Fix: Reducing DNS problems by not automatically adding '.' to the domain name
By default the '.' is included. But if changed, then the '.' won't be added.
* Fix: JVM tab metrics showing for all Applications In JVM
Metrics under the Thread, Session, and Transaction tabs used to only appear
under the main application. The data will now be shown for all applications
running in the specific JVM.
* Fix: Using a Proxy now works with SSL Enabled
In prior releases proxy authentication would fail when SSL was enabled.
We now do proxy authentication using the java.net.Authenticator.
* Fix: Akka error reporting
If an actor throws an exception or the message times out, an error is reported.
Previously, no error was reported.
v2.20.0
-------
* Glassfish 2.1 JVM Tab
The JVM tab will now show thread, session, and transaction metrics for
Glassfish 2.1.
* Fix: Solr Cache Metrics
The solr cache metrics do not appear with versions 2.18 and 2.19
of the agent. This has been fixed and all solr metrics should now appear.
* Fix: NullPointerException in New Relic Logs When NewRelic API called
In certain circumstances, a call to a method on the NewRelic class can
generate a NullPointerException in the agent logs. It does not cause a
NullPointerException in your application.
* Fix: Support Custom Extension XML File for WebSphere with JRE
Prior to this fix, an attempt to use a custom extension XML file with a IBM JRE
would lead to a ClassNotFoundException.
v2.19.1
-------
* Fix for 2.19.0 known issue: Play now captures GET and POST
parameters correctly if `capture_params` is enabled.
* Disabled overly ambitious instrumentation used to time template rendering for Play 2.
Resulted in unintended classes being instrumented.
v2.19.0
-------
* Play 2 Instrumentation
Provides insight into Play 2.x Java and Scala applications. Adds
instrumentation to Netty server, Akka actor calls, Scala Promises and Futures,
and the WS API calls.
Known issue: Request parameters are not captured properly
even if `capture_params` is enabled.
* Support added for Jetty 9 (tested on 9.0.0 through Jetty 9.0.3).
* Fix: Agent can cause java.lang.VerifyError on code compiled with Java 7
In certain cases, if your application code or third party libraries are
compiled with Java 7, you may get a java.lang.VerifyError. This fix allows
the agent to work correctly in those cases.
* Fix: The Java Agent detects status codes for Apache Felix correctly by default.
The property take_last_status is now deprecated.
v2.18.0
-------
* New metrics are displayed under the JVM tab
While the metrics displayed differ between application servers, common
metrics include loaded class count, active thread count, active thread count
per thread pool, active session count per application, and active
transaction count. In order to see these metrics, JMX must be enabled on
your app server.
* Fix: When naming transactions, the property `enable_auto_transaction_naming`
should be honored
There was an issue where transactions using the Spring Framework were
ignoring the property.
* Fix: Strip query string from HTTP Referer
Query strings can potentially contain sensitive information. To prevent that
data from being sent to New Relic, only the host and path portion of the
referer are captured.
v2.17.2
-------
* Fix: Fixed bug in which application code can throw NoSuchMethodError
In some cases, application code was throwing an exception
```
java.lang.NoSuchMethodError: java.lang.Boolean.valueOf(B)Ljava/lang/Byte;
```
This usually occurred when calling a ResultSet implementation.
v2.17.1
-------
* Fix: Reverted transaction naming change on ColdFusion, introduced in 2.17.0.
That change caused issues with certain modes of ColdFusion.
v2.17.0
-------
* Agent reports JDBC ResultSet query time
This change gives you deeper insight into your database time by displaying
ResultSet processing time in aggregate metrics and transaction traces.
* Fix: Avoid retransform exception on IBM JREs
In some IBM JRE versions, the agent logged an INFO level exception and did not
instrument select classes. This fix allows these classes to be instrumented
properly.
* Adds a stack trace in a transaction trace for all methods taking longer than
stack trace threshold. This differs from 2.16 which only provided stack
traces for a limited number of methods.
* Better transaction naming on ColdFusion
* The CPU burn reported for an asynchronous app is wrong.
* Application code in AsyncProcessing should be attributed to wait time
* Fix: Agent now works with Jetty 9
v2.16.0
-------
* Adds a stack trace in a transaction trace for methods taking longer than
the stack trace threshold setting (in seconds).
transaction_tracer:
stack_trace_threshold: 1.0
* Cross Application Tracing support for HttpURLConnection.
Adds request and response headers to external calls using the
HttpURLConnection library to provided better performance data
when calling applications monitored by other New Relic Agents
(Java, .NET, and Ruby, with others coming soon).
* Fix: Cross Application Tracing does not correlate consistently when using
WebSphere, WebLogic, Resin, and Glassfish.
Cross Appplication Tracing did not correlate calling and called applications
when the HTTP response was large.
* Queuing time more broadly supported.
The 'X-Queue-Start' and 'X-Request-Start' request headers for Heroku and other
front-end web servers are interpreted and reported. Previously, queuing time
was not reported for Heroku.
* Adds a config setting to turn off class transforming after the given number
of seconds. This is a work-around for an Oracle JVM bug that in rare cases
can cause native memory leaks.
class_transformer:
shutdown_delay: 3600
v2.15.1
-------
* Fix: Cross Application Tracing does not correlate consistently when using Tomcat 6+
Cross Appplication Tracing did not correlate calling and called applications
when the called application ran in Tomcat 6 or later and the HTTP response was
greater than about 7k.
v2.15.0
-------
* Cross Application Tracing
The Cross Application Tracing feature adds request and response headers to
external calls using the Apache HttpClient libraries to provided better
performance data when calling applications monitored by other New Relic
Agents (Java, .NET, and Ruby, with others coming soon).
The 2.14.0 release links aggregated data across applications. This release
also links transaction traces.
The configuration setting introduced in 2.14.0 to enable/disable Cross
Application Tracing in newrelic.yml has changed. The old setting:
'cross_application_tracing: true' is deprecated. The new setting is
cross_application_tracer:
enabled: true
The default setting is true. Set to false to disable Cross Application
Tracing.
* Instrumentation added for the AmazonS3Client version 1.x
The New Relic Agent now offers support for version 1.0 to current of the
com.amazonaws.services.s3.AmazonS3 interface.
* New Relic Java Agent support a daily roll over log
To roll over the agent log every day, set the property log_daily to true.
Set the property log_file_count to the number of day logs you would like to
keep.
* New Relic Java Agent now communicates with New Relic via HTTPS by default rather than HTTP
If you have an existing installation and wish to use HTTPS to communicate
with New Relic, edit your newrelic.yml file to include
ssl: true
in the common section. We recommend this for existing customers in order to
improve the security of your communications with New Relic.
* Java Agent installer improvements
The Java Agent installer now supports JBoss 7.x AS and JBoss 6.x EAP in
standalone mode. Instructions for manually installing the Java Agent on
JBoss 7.x AS and JBoss 6.x EAP can be found at
https://newrelic.com/docs/java/installing-the-java-agent-on-jboss
* Fix: Default hostname reported
This release reverts the change in 2.14.0 that effected the way that the
hostname is reported. With this release, the agent reports the default
hostname rather than short form in order to correlate with New Relic server
monitoring.
* Fix: Web transactions naming in Spring MVC version 3.x
This bug caused customers using Spring 3.0.1 and above to often have web
transactions named by the servlet rather than controller method. This has
been fixed such that a separate metric is created for each controller
method.
v2.14.1
-------
* Fix: Application errors using java.net.HttpURLConnection.
The bug, introduced in 2.14.0, could cause errors in code that uses java.net.HttpURLConnection.
Possible errors could occur in XML parsing, incorrect http response status, or BeanCreationException in Spring.
As part of this fix the agent does not add a 'X-NewRelic-ID' header to outbound requests using java.net.HttpURLConnection.
v2.14.0
-------
* Fix: New Relic includes property take_last_status to only grab the final http status code.
By default, New Relic reports any error status code. However, when this property is set to true, only
the last http status code will be reported. This property should be set when using Apache Felix.
* Fix: New Relic now correctly patches Apache Felix ClassLoaders.
* Fix: Time will now display correctly for the first hour of the day when using log4j.
* Fix: RUM header was missing a semicolon at the end of the last statement. Some browsers prefer semicolons everywhere.
* Adds a 'X-NewRelic-ID' header to outbound requests using the Apache HttpClient or HttpURLConnection libraries.
This change helps improve the correlation of performance between services in a service-oriented architecture for a forthcoming feature.
In the meantime, if you wish to disable the header, set 'cross_application_tracing: false' in newrelic.yml.
* Fix: Java agent now reports hostnames consistent with the output of "hostname -s" to match all other agents
* Add report of physical server memory (in addition to JVM memory) on Unix/Linux machines
v2.13.0
--------
* Agent can be configured to not send JVM arguments to the New Relic server
The property send_jvm_props can be set to false, which will cause JVM arguments to no longer be sent to the server. Use this setting if you set sensitive system properties on the command line.
* Agent reports full URL in external service calls for transaction traces
The agent now will provide the full URL if available in transaction traces for external calls.
* Fix: ResinServletTracerFactory no longer causing SkipServletTracerFactory errors
When hitting the ResinServletTracerFactory inside a transaction, a SkipServletTracerFactory excetion will no longer be thrown.
* Agent logging improvements
We have improved the clarity of logging messages, adjusted logging levels to be more appropriate, and increased logging performance.
v2.12.0
-------
* Agent reports jars used by applications to the Environments tab in the UI
The Environments tab in the New Relic UI now shows the jars used by your application.
* Fix: In certain cases, auto-RUM of JSP broke HTML
An angle-bracket in quotes in a META tag causes the agent to produced invalid HTML for JSP. The agent now produces valid HTML for this case.
* Fix: Key Transaction ApdexT value was not used
In v2.10 - v2.11, the application-level ApdexT value was used for Key Transactions rather than the ApdexT for the Key Transaction itself. In this release, the ApdexT for the Key Transaction is used as designed.
* Fix: With OC4J using PolicyClassLoader, no metrics were displayed
In the case where OC4J uses the PolicyClassLoader, the agent generated a java.lang.StackOverflowError in the log and did not provide metrics. In this release, the error does not occur.
* Fix: External metrics for HttpClient included port if host was an IP address
In the case where an external service call used HttpClient with an IP address rather than a hostname, the port number was also included. In this release, the port number is not displayed.
v2.11.0
* Support Jetty Continuations
* Support Servlet 3.0 async API for WebSphere
* bug fix: java.lang.ClassCircularityError in JBoss
* bug fix: Agent does not detect Solr 4.0
* bug fix: NewRelicIgnoreApdex annotation ignored
v2.10.1
* Remove stall detection
v2.10.0
* XML-based custom instrumentation
* Support Servlet 3.0 async API (except WebSphere)
* Request attribute for setting app name should allow multiple app names
* bug fix: auto RUM inserts header and footer into script tags
* bug fix: Deadlock transforming classes in java.lang.reflect.Method.getAnnotation
v2.9.0
* Support for Key Transactions. Key Transactions let you closely monitor these important key business transactions and receive alerts when they are performing poorly. For more information see https://newrelic.com/docs/site/key-transactions
* More metrics available in Custom Dashboards
v2.8.0
* Supports basic proxy authentication for the case where there is a proxy server between the agent and the Internet.
The configuration uses proxy_user and proxy_password settings.
* To avoid reporting the same transaction trace repeatedly, the agent reports a number of the slowest transactions.
* bug fix: Transaction trace reported to wrong app if enable_auto_app_naming and browser requested a transaction trace
v2.7.0
* Add skipTransactionTrace element to @Trace annotation to tell Agent to drop method from transaction trace
* Add -Dnewrelic.bootstrap_classpath=true system property to append newrelic.jar to bootstrap classpath
* Support RUM reporting to multiple applications (RUM3)
* bug fix: Asynchronous processing time not reported correctly in Play 1.2.4
* bug fix: CXF transaction names not set to URI path if protocol is https
v2.6.0
* Java 7: Native support for instrumenting classes compiled to Java 7 bytecode
* Audit Mode: mode which logs all data sent to New Relic in the newrelic_agent.log
* bug fix: Prevent agent instrumentation from changing the Serial Version UID (introduced in 2.2.0)
* bug fix: Prevent memory leak when client applications start and subsequently stop a thread before completing a transaction (introduced in 2.2.0)
* bug fix: Prevent stack overflow exception when executing queries using the Postgres 9.0.x JDBC driver
* bug fix: Fix dispatch handler instrumentation for Jetty 7.5.* (introduced in 2.5.0)
* bug fix: Set the application port correctly under Jetty 4.*
* bug fix: Make the transaction_tracer configuration settings respect command line and environment overrides
v2.5.0
* Browser traces
* bug fix: OC4J does not start (introduced in 2.2.0)
* bug fix: AbstractMethodError calling getRemoteUser in Tomcat and GlassFish
* bug fix: Deployment does not use SSL port if SSL is configured (introduced in 2.2.0)
* bug fix: NullPointerException getting request URI in Jetty 4.x and 5.x
* bug fix: JSP compiler error with auto RUM in Tomcat 5
* bug fix: Transaction parameters removed if error is reported but response status < 400
* bug fix: No request parameters in Resin 3.x
* bug fix: AbstractMethodError calling getContextPath() with Tomcat 5.x (introduced in 2.2.0)
* bug fix: Ignore transaction before transaction started stops transaction reporting
v2.4.2
* bug fix: ClassLoader.loadClass deadlock (introduced in 2.4.0)
v2.4.1
* bug fix: AssertionError in WebLogic (introduced in 2.2.0)
v2.4.0
* bug fix: ClassNotFoundException with JBoss AS 7 (introduced in 2.2.0)
* bug fix: NoClassDefFoundError with GlassFish 3.1.2 (introduced in 2.2.0)
* bug fix: ClassCastException with GlassFish 3.1.1 (introduced in 2.2.0)
* bug fix: Agent stops reporting web transactions (introduced in 2.2.0)
* bug fix: possible unknown host for external call with HttpClient 3.0.1 (introduced in 2.3.0)
* bug fix: stall error reporting broken
* bug fix: agent_enabled setting not working
* add stall_threshold setting for reporting stall errors
v2.3.1
* bug fix: Agent logging breaks web app log4j configuration (introduced in 2.3.0)
v2.3.0
* Play! framework support
* create web transactions using custom instrumentation
* use log4j instead of Java API logging
* bug fix: RUM auto instrumentation fixes
* bug fix: multiple app names in app_name setting out of order (introduced in 2.2.0)
* bug fix: possible java.lang.IllegalArgumentException with parameterized SQL (introduced in 2.2.0)
* bug fix: WebSphere instrumentation broken (introduced in 2.2.0)
v2.2.1
* bug fix: ClassFormatError and NoClassDefFoundError instrumenting proxy classes
* bug fix: transaction trace threshold not working (introduced in 2.2.0)
* bug fix: infinite loop instrumenting parameterized SQL statements
v2.2.0
* performance improvements
* support server-side configuration
* bug fix: byte-code instrumentation causes class loading deadlock and OS memory explosion
v2.1.2
* performance improvements
* bug fix: parse inner select SQL statements
* bug fix: execute SQL statement not recognized
v2.1.0
* report slow SQL statements
* performance improvements
* continue to record metrics after transaction trace limit is reached
* bug fix: never drop data
* bug fix: Agent destructively reads request parameters in Resin
* bug fix: default transaction trace threshold should be apdex_f
* bug fix: Don't obfuscate digits in SQL statements that are part of table name
v2.0.4
* bug fix: RUM: handle duplicate injection of our JS header and footer
* bug fix: fix the license key hint that is inserted into the auto-generated configuration file
* Allow logging to standard out
* Allow configuration of the agent via environment variables
v2.0.3
* bug fix: RUM: Tag files not compiling in Jasper
* bug fix: RUM: header not always inserted after meta tags
* bug fix: NullPointerException if filter config is null
* bug fix: Fix IE measurement problem in RUM footer
* bug fix: API calls should not throw exceptions
v2.0.2
* bug fix: Auto RUM compiler error instrumenting some JSPs
* bug fix: Auto RUM should inject header after meta tags
* bug fix: Installer does not modify start script if another javaagent switch is present
* bug fix: Agent breaks request URI parsing in Tomcat: JSESSIONID not removed (introduced in 1.4.0)
* bug fix: Some compilers unable to compile JSP with auto RUM
* Installer support for GlassFish
v2.0.1
* bug fix: JBoss fails to start with JMX errors (introduced in 1.4.0)
v2.0.0
* auto Real User Monitoring
* support for X-Request-Start, X-Queue-Start, and X-Queue-Time request headers
* bug fix: newrelic-api.jar does not work with Java 1.5
* bug fix: NullPointerException instrumenting HttpClient
* bug fix: setting request attribute "com.newrelic.agent.TRANSACTION_NAME" not working (broken in 1.4.0)
* bug fix: uncaught exceptions not logged during startup
* bug fix: thread profiling fails if CPU time not supported
* bug fix: error is ignored only if it is the root cause
v1.4.0
* Real User Monitoring
* bug fix: setting 'ignore_status_codes' to a single value is ignored
v1.3.0
* component-based transaction naming
* agent API
* multiple applications enhancements
* send data to RPM in UTF-8 format
* bug fix: ClassCastException setting record_sql: off
v1.2.9.2
* bug fix: don't depend on system property for trace logging
v1.2.9.1
* bug fix: transaction not always cleared
* bug fix: change to log_level setting not dynamic (introduced in 1.2.9)
v1.2.9
* obfuscate selected fields in SQL statements
* measure method invocation time in nanoseconds
* bug fix: report data to multiple app names broken in 1.2.008
* bug fix: NullPointerException instrumenting JRun 4.
* bug fix: Prevent Agent from starting more than once
* bug fix: Sample memory at least once per harvest
* bug fix: memory leak in Tomcat with Java logging and System.err
v1.2.008
* multiple applications
* get apdex_t from RPM
* remove built-in URL normalization rules
* record nested exceptions in error report
* support for HttpClient version 4
* bug fix: Solr JSON deserialization error in RPM
* bug fix: purge dead thread ids and catch uncaught exceptions in runnables
v1.2.007
* added support for Oracle JDBC drivers
* added support for parameterized SQL
* added log_sql config property in transaction_tracer section to write SQL to log instead of sending to the RPM service
* enable_custom_tracing is true by default
* bug fix: root cause of exception not reported for custom exception handler
* bug fix: NullPointerException caused by java.lang.Throwable.getStackTrace() returning null
* bug fix: app server port not formatted correctly in log
* bug fix: java.lang.IncompatibleClassChangeError with Hibernate 3.5
v1.2.006
* added install command to back up/edit start script on Tomcat, Jetty and JBoss
v1.2.005.3
* added support for prepared statements with Microsoft SQL Server JDBC driver and jTDS SQL Server and Sybase JDBC driver
* removed a synchronized call to get a handle to the agent from tracers
v1.2.005.2
* fixed a problem related to Solr request names - urls were including parameters
v1.2.005.1
* fixed a few problems related to WebSphere instrumentation
v1.2.005
* added Solr support
* use a new method to connect to the RPM service
v1.2.004.4
* allow Spring transactions to be named using the controller/method name
* do not ding apdex score for ignored errors (404s, for example)
v1.2.004.2.
* fix explain plans
* report errors that have been routed to jsp error pages
v1.2.004.