aboutsummaryrefslogtreecommitdiff
path: root/kamon-core
diff options
context:
space:
mode:
authorIvan Topolnak <ivantopo@gmail.com>2013-11-07 18:41:33 -0300
committerIvan Topolnak <ivantopo@gmail.com>2013-11-07 18:41:33 -0300
commitbf86900669d649308f4914c54e6fe076510506a6 (patch)
treed8bf9af9f5c8a946d757137a303f6956c05edb03 /kamon-core
parent2b63540e5fffab545d0846cfb3dab5c0e1d0c9e1 (diff)
downloadKamon-bf86900669d649308f4914c54e6fe076510506a6.tar.gz
Kamon-bf86900669d649308f4914c54e6fe076510506a6.tar.bz2
Kamon-bf86900669d649308f4914c54e6fe076510506a6.zip
halfway to our own NewRelic Agent
Diffstat (limited to 'kamon-core')
-rw-r--r--kamon-core/src/main/resources/META-INF/aop.xml (renamed from kamon-core/src/main/resources/META-INF/aop_remove_when_possible.xml)3
-rw-r--r--kamon-core/src/main/scala/kamon/AkkaExtensionSwap.scala4
-rw-r--r--kamon-core/src/test/resources/newrelic.yml242
3 files changed, 2 insertions, 247 deletions
diff --git a/kamon-core/src/main/resources/META-INF/aop_remove_when_possible.xml b/kamon-core/src/main/resources/META-INF/aop.xml
index 207bf1b9..3532b19b 100644
--- a/kamon-core/src/main/resources/META-INF/aop_remove_when_possible.xml
+++ b/kamon-core/src/main/resources/META-INF/aop.xml
@@ -10,9 +10,6 @@
<aspect name="kamon.trace.instrumentation.EnvelopeTracingContext"/>
<aspect name="kamon.trace.instrumentation.ActorCellInvokeInstrumentation"/>
<aspect name="kamon.trace.instrumentation.RunnableTracing" />
- <aspect name="kamon.instrumentation.SprayRequestContextTracing"/>
- <aspect name="kamon.instrumentation.SprayOpenRequestContextTracing"/>
- <aspect name = "kamon.instrumentation.SprayServerInstrumentation"/>
<aspect name="kamon.instrumentation.ActorSystemInstrumentation"/>
<aspect name="kamon.trace.instrumentation.ActorLoggingInstrumentation"/>
diff --git a/kamon-core/src/main/scala/kamon/AkkaExtensionSwap.scala b/kamon-core/src/main/scala/kamon/AkkaExtensionSwap.scala
index 3d503d54..aee7df9f 100644
--- a/kamon-core/src/main/scala/kamon/AkkaExtensionSwap.scala
+++ b/kamon-core/src/main/scala/kamon/AkkaExtensionSwap.scala
@@ -1,10 +1,10 @@
package kamon
-import akka.actor.{ActorSystem, ExtensionId}
+import akka.actor.{Extension, ActorSystem, ExtensionId}
import java.util.concurrent.ConcurrentHashMap
object AkkaExtensionSwap {
- def swap(system: ActorSystem, key: ExtensionId[_], value: Kamon.Extension): Unit = {
+ def swap(system: ActorSystem, key: ExtensionId[_], value: Extension): Unit = {
val extensionsField = system.getClass.getDeclaredField("extensions")
extensionsField.setAccessible(true)
diff --git a/kamon-core/src/test/resources/newrelic.yml b/kamon-core/src/test/resources/newrelic.yml
deleted file mode 100644
index 77923e9c..00000000
--- a/kamon-core/src/test/resources/newrelic.yml
+++ /dev/null
@@ -1,242 +0,0 @@
-#
-# This file configures the New Relic Agent. New Relic monitors
-# Java applications with deep visibility and low overhead. For more
-# information, visit www.newrelic.com.
-#
-# This configuration file is custom generated for Ivan Topolnak - ivantopo@gmail.com
-#
-# This section is for settings common to all environments.
-# Do not add anything above this next line.
-common: &default_settings
- #
- # ============================== LICENSE KEY ===============================
-
- # You must specify the license key associated with your New Relic
- # account. This key binds your Agent's data to your account in the
- # New Relic service.
- license_key: '2e24765acb032cb9e7207013b5ba3e2ab7d2d75c'
-
- # Agent Enabled
- # Use this setting to force the agent to run or not run.
- # Default is true.
- # agent_enabled: true
-
- # Set to true to enable support for auto app naming.
- # The name of each web app is detected automatically
- # and the agent reports data separately for each one.
- # This provides a finer-grained performance breakdown for
- # web apps in New Relic.
- # Default is false.
- enable_auto_app_naming: false
-
- # Set to true to enable component-based transaction naming.
- # Set to false to use the URI of a web request as the name of the transaction.
- # Default is true.
- enable_auto_transaction_naming: true
-
- # Set the name of your application as you'd like it show up in New Relic.
- # if enable_auto_app_naming is false, the agent reports all data to this application.
- # Otherwise, the agent reports only background tasks (transactions for non-web applications) to this application.
- # To report data to more than one application, separate the application names with ";".
- # For example, to report data to"My Application" and "My Application 2" use this:
- # app_name: My Application;My Application 2
- # This setting is required.
- app_name: My Application
-
- # The agent uses its own log file to keep its logging
- # separate from that of your application. Specify the log level here.
- # This setting is dynamic, so changes do not require restarting your application.
- # The levels in increasing order of verboseness are: off, severe, warning, info, fine, finer, finest
- # Default is info.
- log_level: finest
- enable_custom_tracing: true
-
- # Log all data to and from New Relic in plain text.
- # This setting is dynamic, so changes do not require restarting your application.
- # Default is false.
- audit_mode: true
-
- # The number of log files to use.
- # Default is 1.
- #log_file_count: 1
-
- # The maximum number of bytes to write to any one log file.
- # Default is 0 (no limit).
- #log_limit_in_kbytes: 0
-
- # The name of the log file.
- # Default is newrelic_agent.log.
- #log_file_name: newrelic_agent.log
-
- # The log file directory.
- # Default is the logs directory in the newrelic.jar parent directory.
- log_file_path: /home/ivantopo/Desktop/tmp
-
- # The agent communicates with New Relic via https by
- # default. If you want to communicate with newrelic via http,
- # then turn off SSL by setting this value to false.
- # This work is done asynchronously to the threads that process your
- # application code, so response times will not be directly affected
- # by this change.
- # Default is true.
- ssl: true
-
- # Proxy settings for connecting to the New Relic server.
- #
- # If a proxy is used, the host setting is required. Other settings
- # are optional. Default port is 8080. The username and password
- # settings will be used to authenticate to Basic Auth challenges
- # from a proxy server.
- #
- # proxy_host: hostname
- # proxy_port: 8080
- # proxy_user: username
- # proxy_password: password
-
- # Tells transaction tracer and error collector (when enabled)
- # whether or not to capture HTTP params. When true, frameworks can
- # exclude HTTP parameters from being captured.
- # Default is false.
- capture_params: false
-
- # Tells transaction tracer and error collector to not to collect
- # specific http request parameters.
- # ignored_params: credit_card, ssn, password
-
- # Transaction tracer captures deep information about slow
- # transactions and sends this to the New Relic service once a
- # minute. Included in the transaction is the exact call sequence of
- # the transactions including any SQL statements issued.
- transaction_tracer:
-
- # Transaction tracer is enabled by default. Set this to false to
- # turn it off. This feature is only available at the higher product levels.
- # Default is true.
- enabled: true
-
- # Threshold in seconds for when to collect a transaction
- # trace. When the response time of a controller action exceeds
- # this threshold, a transaction trace will be recorded and sent to
- # New Relic. Valid values are any float value, or (default) "apdex_f",
- # which will use the threshold for the "Frustrated" Apdex level
- # (greater than four times the apdex_t value).
- # Default is apdex_f.
- transaction_threshold: apdex_f
-
- # When transaction tracer is on, SQL statements can optionally be
- # recorded. The recorder has three modes, "off" which sends no
- # SQL, "raw" which sends the SQL statement in its original form,
- # and "obfuscated", which strips out numeric and string literals.
- # Default is obfuscated.
- record_sql: obfuscated
-
- # Obfuscate only occurrences of specific SQL fields names.
- # This setting only applies if "record_sql" is set to "raw".
- #obfuscated_sql_fields: credit_card, ssn, password
-
- # Set this to true to log SQL statements instead of recording them.
- # SQL is logged using the record_sql mode.
- # Default is false.
- log_sql: false
-
- # Threshold in seconds for when to collect stack trace for a SQL
- # call. In other words, when SQL statements exceed this threshold,
- # then capture and send to New Relic the current stack trace. This is
- # helpful for pinpointing where long SQL calls originate from.
- # Default is 0.5 seconds.
- stack_trace_threshold: 0.5
-
- # Determines whether the agent will capture query plans for slow
- # SQL queries. Only supported for MySQL and PostgreSQL.
- # Default is true.
- explain_enabled: true
-
- # Threshold for query execution time below which query plans will not
- # not be captured. Relevant only when `explain_enabled` is true.
- # Default is 0.5 seconds.
- explain_threshold: 0.5
-
- # Use this setting to control the variety of transaction traces.
- # The higher the setting, the greater the variety.
- # Set this to 0 to always report the slowest transaction trace.
- # Default is 20.
- top_n: 20
-
-
- # Error collector captures information about uncaught exceptions and
- # sends them to New Relic for viewing
- error_collector:
-
- # Error collector is enabled by default. Set this to false to turn
- # it off. This feature is only available at the higher product levels.
- # Default is true.
- enabled: true
-
- # To stop specific exceptions from reporting to New Relic, set this property
- # to a comma separated list of full class names.
- #
- # ignore_errors:
-
- # To stop specific http status codes from being reporting to New Relic as errors,
- # set this property to a comma separated list of status codes to ignore.
- # When this property is commented out it defaults to ignoring 404s.
- #
- # ignore_status_codes: 404
-
- # Cross Application Tracing 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.
- #
- cross_application_tracer:
- # Set to true to enable cross application tracing.
- # Default is true.
- enabled: true
-
- # Thread profiler measures wall clock time, CPU time, and method call counts
- # in your application's threads as they run.
- thread_profiler:
-
- # Set to false to disable the thread profiler.
- # Default is true.
- enabled: true
-
- #============================== Browser Monitoring ===============================
- # New Relic Real User Monitoring gives you insight into the performance real users are
- # experiencing with your website. This is accomplished by measuring the time it takes for
- # your users' browsers to download and render your web pages by injecting a small amount
- # of JavaScript code into the header and footer of each page.
- browser_monitoring:
- # By default the agent automatically inserts API calls in compiled JSPs to
- # inject the monitoring JavaScript into web pages.
- # Set this attribute to false to turn off this behavior.
- auto_instrument: true
- # Set this attribute to false to prevent injection of the monitoring JavaScript.
- # Default is true.
- enabled: true
-
-# Application Environments
-# ------------------------------------------
-# Environment specific settings are in this section.
-# You can use the environment to override the default settings.
-# For example, to change the app_name setting.
-# Use -Dnewrelic.environment=<environment> on the Java command line
-# to set the environment.
-# The default environment is production.
-
-# NOTE if your application has other named environments, you should
-# provide configuration settings for these environments here.
-
-development:
- <<: *default_settings
- app_name: KAMON[Development]
-
-test:
- <<: *default_settings
- app_name: My Application (Test)
-
-production:
- <<: *default_settings
-
-staging:
- <<: *default_settings
- app_name: My Application (Staging) \ No newline at end of file