Skip to content
This repository has been archived by the owner on Sep 23, 2021. It is now read-only.

Commit

Permalink
Adding New Relic module - newrelic-java-3.12.1.zip
Browse files Browse the repository at this point in the history
Needs JAVA_OPTS to be exported to call this
Also needs a newrelic.yml file to know about app, license, etc
  • Loading branch information
Jake Maul committed Dec 26, 2014
1 parent 253b9fd commit 109a563
Show file tree
Hide file tree
Showing 10 changed files with 531 additions and 0 deletions.
4 changes: 4 additions & 0 deletions etherpad/newrelic/CHANGELOG
@@ -0,0 +1,4 @@
CHANGELOG
=========

Please refer to: https://docs.newrelic.com/docs/release-notes/agent-release-notes/java-release-notes
70 changes: 70 additions & 0 deletions etherpad/newrelic/LICENSE
@@ -0,0 +1,70 @@
----------------------------------------------------------------

This product includes 'ASM', which is released under the following license(s):
ASM (BSD-3) <http://asm.ow2.org/license.html>

----------------------------------------------------------------

This product includes 'Apache Commons CLI', which is released under the following license(s):
Apache License 2.0 <http://www.apache.org/licenses/LICENSE-2.0>

----------------------------------------------------------------

This product includes 'Guava', which is released under the following license(s):
Apache License 2.0 <http://www.apache.org/licenses/LICENSE-2.0>

----------------------------------------------------------------

This product includes 'HttpClient', which is released under the following license(s):
Apache License 2.0 <http://www.apache.org/licenses/LICENSE-2.0>

----------------------------------------------------------------

This product includes 'JSON.simple', which is released under the following license(s):
Apache License 2.0 <http://www.apache.org/licenses/LICENSE-2.0>

----------------------------------------------------------------

This product includes 'LogBack', which is released under the following license(s):
Eclipse Public License 1.0 <http://www.eclipse.org/legal/epl-v10.html>

----------------------------------------------------------------

This product includes 'SLF4J', which is released under the following license(s):
The MIT License (MIT) <http://opensource.org/licenses/MIT>

----------------------------------------------------------------

This product includes 'SnakeYAML', which is released under the following license(s):
Apache License 2.0 <http://www.apache.org/licenses/LICENSE-2.0>

----------------------------------------------------------------

All other components of this product are: Copyright (c) 2010-2014 New Relic, Inc. All rights reserved.

Certain inventions disclosed in this file may be claimed within patents owned or patent applications
filed by New Relic, Inc. or third parties. Subject to the terms of this notice, New Relic grants you
a nonexclusive, nontransferable license, without the right to sublicense, to (a) install and execute
one copy of these files on any number of workstations owned or controlled by you and (b) distribute
verbatim copies of these files to third parties. As a condition to the foregoing grant, you must
provide this notice along with each copy you distribute and you must not remove, alter, or obscure
this notice.

All other use, reproduction, modification, distribution, or other exploitation of these
files is strictly prohibited, except as may be set forth in a separate written license agreement
between you and New Relic. The terms of any such license agreement will control over this notice. The
license stated above will be automatically terminated and revoked if you exceed its scope or violate
any of the terms of this notice.

This License does not grant permission to use the trade names, trademarks, service marks, or product
names of New Relic, except as required for reasonable and customary use in describing the origin of
this file and reproducing the content of this notice. You may not mark or brand this file with any
trade name, trademarks, service marks, or product names other than the original brand (if any) provided
by New Relic.

Unless otherwise expressly agreed by New Relic in a separate written license agreement, these files
are provided AS IS, WITHOUT WARRANTY OF ANY KIND, including without any implied warranties of
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, or NON-INFRINGEMENT. As a condition to your
use of these files, you are solely responsible for such use. New Relic will have no liability to you
for direct, indirect, consequential, incidental, special, or punitive damages or for lost profits or
data.
108 changes: 108 additions & 0 deletions etherpad/newrelic/README.txt
@@ -0,0 +1,108 @@
New Relic Java Agent
--------------------
New Relic is an application performance monitoring (APM) service that lets
you see and understand application performance metrics in real time so you
can fix problems fast. The Java agent collects system and application
metrics by injecting bytecode into a select set of methods. The metrics are
reported to the New Relic service once a minute. The agent also reports
uncaught exceptions and slow transactions.

The Java Agent installs into your app server and monitors the performance
of your apps. The agent monitors applications written in Java, Scala, and
other languages that run on the JVM. New Relic provides additional detail
for many common frameworks and libraries. See this page for details:

http://newrelic.com/java


Getting Started
---------------
If you don't already have a New Relic account, sign up for a free account:

https://newrelic.com/signup

When you sign up, you will be provided with a customized zip file that is
configured with your license key.

Using Java SE 5? You will need a different version of the agent. See below.


Installation
------------
Complete installation instructions and troubleshooting tips are available
at:

https://newrelic.com/docs/java/new-relic-for-java

For most users, the following self-installer instructions apply:

https://newrelic.com/docs/java/java-agent-self-installer

Configuration options are available at:

https://newrelic.com/docs/java/java-agent-configuration


Using New Relic
---------------
Once you have installed the agent and restarted your app server, you can
login to New Relic at

https://rpm.newrelic.com

and see your application's performance information. It takes about two
minutes for the application data to show up. By default, your data will
appear under an application named "My Application". You can change this by
updating the app_name setting in newrelic.yml (see below).


Agent Files
-----------
Typically, you will unzip the newrelic files in your app server root. The
layout is:

newrelic/
newrelic.jar
newrelic-api.jar
newrelic.yml
logs/
...

The installation process adds a JVM argument
-javaagent:newrelic/newrelic.jar
to your app server startup script.

The newrelic.yml file provides configuration options. Most of the options
take effect on restart of the app server. NOTE: yml requires exact
whitespace indentation! If the indentation is incorrect, the option may be
ignored.

The logs directory contains important diagnostic information about the
agent. In particular, view newrelic/logs/newrelic_agent.log if you are
troubleshooting.

If you use the New Relic API in your code, you will need to include the
newrelic-api.jar file at compile time and add it as a dependency to your
app. Make sure that you use the same version for your API and newrelic.jar.
New Relic publishes to the Maven Central Repository, so you can add a
dependency to newrelic-api in your favorite build tool.


Note to Java SE 5 Users
-----------------------
This version of the agent works with Java SE 6 and 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.


Support
-------
Email <support@newrelic.com>, or visit our support site at

https://support.newrelic.com


Licenses
--------
See the LICENSE file for New Relic's license terms and the list of
third-party components that are included in the agent.
125 changes: 125 additions & 0 deletions etherpad/newrelic/extension-example.xml
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This is an example of a custom instrumentation extension XML file. -->

<extension xmlns="https://newrelic.com/docs/java/xsd/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="newrelic-extension extension.xsd " name="extension-example"
version="1.0" enabled="true">
<instrumentation>

<!-- This point cut instruments some of the methods in the class com.sample.SampleArrayList. -->
<pointcut transactionStartPoint="true"
excludeFromTransactionTrace="false" ignoreTransaction="false">
<className>com.sample.SampleArrayList</className>
<!-- Instruments the method clear() -->
<method>
<name>clear</name>
<parameters />
<!-- The parameters node should be specified if there are no input parameters
and you only want to match clear(). Not specifying the parameters node will
match all methods named clear on the class regardless of the input parameters.
In other words it would match clear(int) clear(long) clear(int, long). -->
</method>
<!-- Instruments the method Object get(int index) -->
<method>
<name>get</name>
<parameters>
<!-- Primitives should written using their name: byte, short, int, long,
float, double, boolean, char -->
<type>int</type>
</parameters>
</method>
<!-- Instruments the method boolean addAll(int index, Collection c) -->
<method>
<name>addAll</name>
<parameters>
<!-- Make sure your parameters are listed in order. -->
<type>int</type>
<type>java.util.Collection</type>
</parameters>
</method>
</pointcut>

<!-- This point cut instruments some of the methods in the class com.sample.SampleString. -->
<pointcut transactionStartPoint="true">
<className>com.sample.SampleString</className>
<!-- Instruments the method boolean startsWith(String prefix) -->
<method>
<name>startsWith</name>
<parameters>
<type>java.lang.String</type>
</parameters>
</method>
<!-- Instruments the method String valueOf(char[] data, int offset, int
count) -->
<method>
<name>valueOf</name>
<parameters>
<!-- Be sure to use brackets for arrays. -->
<type>char[]</type>
<type>int</type>
<type>int</type>
</parameters>
</method>
</pointcut>


<!-- This point cut instruments all of the methods in the class com.sample.SampleString
that are named startsWith, ignoring the input parameters and return type. -->
<pointcut transactionStartPoint="true">
<className>com.sample.SampleString</className>
<method>
<name>startsWith</name>
</method>
</pointcut>


<!-- This point cut instruments the method startsWith in the class com.sample.SampleString.
By adding the <nameTransaction/> element, the class and method specified
in this pointcut will be used to name transactions which hit this pointcut.
Without this, the default convention is to name transctions with the class
and method from the transaction start point. -->
<pointcut transactionStartPoint="false">
<nameTransaction />
<className>com.sample.SampleString</className>
<!-- Instruments the method boolean startsWith(String prefix) -->
<method>
<name>startsWith</name>
<parameters>
<type>java.lang.String</type>
</parameters>
</method>
</pointcut>

<!-- This point cut instruments the method startsWith(String prefix) for
all implementations of the interface com.sample.SampleStringInterface. -->
<pointcut transactionStartPoint="true">
<interfaceName>com.sample.SampleStringInterface</interfaceName>
<!-- Instruments the method boolean startsWith(String prefix) -->
<method>
<name>startsWith</name>
<parameters>
<type>java.lang.String</type>
</parameters>
</method>
</pointcut>

<!-- This point cut instruments some of the methods in the class com.sample.SampleString
based on return type. -->
<pointcut transactionStartPoint="true">
<className>com.sample.SampleString</className>
<!-- Instruments all methods in the class whose return type is ResultSet -->
<method>
<returnType>com.example.ResultSet</returnType>
</method>
</pointcut>

<!-- This point cut instruments all of the methods which have the annotation
com.example.myAnnotation. -->
<pointcut transactionStartPoint="true">
<methodAnnotation>com.example.myAnnotation</methodAnnotation>
</pointcut>

</instrumentation>
</extension>

0 comments on commit 109a563

Please sign in to comment.