Java application startup time with newrelic agent - heroku

I'm running a java application on Heroku with the newrelic agent. I see from the logs that it can take > 8 seconds to start the newrelic agent - sometimes more. From the example below it looks like it takes 2 seconds to load instrumentation, and perhaps 5 seconds to connect to the new relic server.
Is there anything I can do to speed this up? Sometimes it seems like things are working slower than usual and I hit the 90s bootup heroku limit (Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch).
Most of the instrumentation shown below is not required.
Thanks.
05:56:21 +0000 [4 1] com.newrelic INFO: New Relic Agent: Loading configuration file "/app/newrelic/./newrelic.yml"
05:56:21 +0000 [4 1] com.newrelic INFO: New Relic Agent v3.37.0 is initializing...
05:56:22 +0000 [4 1] com.newrelic.agent.deps.org.reflections.Reflections WARN: given scan urls are empty. set urls in the configuration
... 46 others
05:56:22 +0000 [4 8] com.newrelic INFO: Instrumentation com.newrelic.instrumentation.akka-2.2 is enabled. Loading.
05:56:23 +0000 [4 11] com.newrelic INFO: Instrumentation com.newrelic.instrumentation.async-http-client-2.0.0 is enabled. Loading.
... 128 others
05:56:23 +0000 [4 6] com.newrelic INFO: Instrumentation com.newrelic.instrumentation.solr-1.4.0 is enabled. Loading.
05:56:27 +0000 [4 1] com.newrelic.agent.RPMServiceManagerImpl INFO: Configured to connect to New Relic at collector.newrelic.com:443
05:56:27 +0000 [4 1] com.newrelic INFO: Setting audit_mode to false
05:56:27 +0000 [4 1] com.newrelic INFO: Setting protocol to "https"
05:56:28 +0000 [4 1] com.newrelic.agent.config.ConfigServiceImpl INFO: Configuration file is /app/newrelic/./newrelic.yml
05:56:28 +0000 [4 1] com.newrelic INFO: New Relic Agent v3.37.0 has started
05:56:28 +0000 [4 1] com.newrelic INFO: Agent class loader: com.newrelic.bootstrap.BootstrapAgent$JVMAgentClassLoader#533ddba
05:56:28 +0000 [4 1] com.newrelic INFO: Premain startup complete in 7,981ms

How about change this config value?
https://docs.newrelic.com/docs/agents/java-agent/configuration/java-agent-configuration-config-file
sync_startup
Type Boolean Default false
Enable the agent to connect the New Relic collector immediately upon app startup.

Related

How to run a pentaho job from Command Line

Have a job which takes around 1/2 minutes to finish, now trying to run this job through the command line just goes on forever and doesn't finish. It doesn't look like I get any errors from this either. So the job seems to be starting and I know the job works correctly since it works within spoon, any ideas?
C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration> Kitchen.bat
/file:C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration\job.kjb
/level:Minimal
DEBUG: Using PENTAHO_JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files\Java\jre1.8.0_231 DEBUG: _PENTAHO_JAVA=C:\Program Files\Java\jre1.8.0_231\bin\java.exe
C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration>"C:\Program
Files\Java\jre1.8.0_231\bin\java.exe" "-Xms1024m" "-Xmx2048m"
"-XX:MaxPermSize=256m" "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2"
"-Djava.library.path=libswt\win64" "-DKETTLE_HOME="
"-DKETTLE_REPOSITORY=" "-DKETTLE_USER=" "-DKETTLE_PASSWORD="
"-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT="
"-DKETTLE_JNDI_ROOT=" -jar launcher\launcher.jar -lib ..\libswt\win64
-main org.pentaho.di.kitchen.Kitchen -initialDir "C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration"\
/file:C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration\job.kjb
/level:Minimal Java HotSpot(TM) 64-Bit Server VM warning: ignoring
option MaxPermSize=256m; support was removed in 8.0 13:58:07,867 INFO
[KarafBoot] Checking to see if org.pentaho.clean.karaf.cache is
enabled 13:58:12,006 INFO [KarafInstance]
* Karaf Instance Number: 2 at C:\Users\a\Downloads\pdi-ce-8.3.0.0-
371\data-integration.\system\karaf\caches\kitchen\data-1
FastBin Provider Port:52902
Karaf Port:8803
OSGI Service Port:9052 *
******************************************************************************* Dec 19, 2019 1:58:12 PM org.apache.karaf.main.Main$KarafLockCallback
lockAquired INFO: Lock acquired. Setting startlevel to 100 2019/12/19
13:58:12 - Kitchen - Logging is at level : Minimal 2019/12/19 13:58:12
- Kitchen - Start of run. 2019-12-19 13:58:15.902:INFO:oejs.Server:jetty-8.1.15.v20140411 2019-12-19
13:58:15.955:INFO:oejs.AbstractConnector:Started
NIOSocketConnectorWrapper#0.0.0.0:9052 Dec 19, 2019 1:58:16 PM
org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions INFO:
Adding the extensions from bundle org.apache.cxf.cxf-rt-management
(182) [org.apache.cxf.management.InstrumentationManager] Dec 19, 2019
1:58:16 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener
addExtensions INFO: Adding the extensions from bundle
org.apache.cxf.cxf-rt-transports-http (183)
[org.apache.cxf.transport.http.HTTPTransportFactory,
org.apache.cxf.transport.http.HTTPWSDLExtensionLoader,
org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,
org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,
org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider]
Dec 19, 2019 1:58:16 PM
org.pentaho.caching.impl.PentahoCacheManagerFactory$RegistrationHandler$1
onSuccess INFO: New Caching Service registered 2019/12/19 13:58:17 -
job - Start of job execution Dec 19, 2019 1:58:18 PM
org.apache.cxf.endpoint.ServerImpl initDestination INFO: Setting the
server's publish address to be /lineage Dec 19, 2019 1:58:18 PM
org.apache.cxf.endpoint.ServerImpl initDestination INFO: Setting the
server's publish address to be /i18n Dec 19, 2019 1:58:19 PM
org.apache.cxf.endpoint.ServerImpl initDestination INFO: Setting the
server's publish address to be /marketplace
Update
Tried deleting kitchen cache from Karaf cache starting running but job never finished, now I'm running the job with a debug level and getting these results. Still, the job doesn't get any further than this, Job works in spoon so cannot be related to the job.
C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration>kitchen.bat
/file:C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration\Job.kjb
/level:Debug
DEBUG: Using PENTAHO_JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files\Java\jre1.8.0_231
DEBUG: _PENTAHO_JAVA=C:\Program Files\Java\jre1.8.0_231\bin\java.exe
C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration>"C:\Program
Files\Java\jre1.8.0_231\bin\java.exe" "-Xms1024m" "-Xmx2048m"
"-XX:MaxPermSize=256m" "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2"
"-Djava.library.path=libswt\win64" "-DKETTLE_HOME="
"-DKETTLE_REPOSITORY=" "-DKETTLE_USER=" "-DKETTLE_PASSWORD="
"-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT="
"-DKETTLE_JNDI_ROOT=" -jar launcher\launcher.jar -lib ..\libswt\win64
-main org.pentaho.di.kitchen.Kitchen -initialDir "C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration"\
/file:C:\Users\a\Downloads\pdi-ce-8.3.0.0-371\data-integration\Job.kjb
/level:Debug
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option
MaxPermSize=256m; support was removed in 8.0
08:07:33,026 INFO [KarafBoot] Checking to see if
org.pentaho.clean.karaf.cache is enabled
08:07:37,211 INFO [KarafInstance]
* Karaf Instance Number: 1 at C:\Users\a\Downloads\pdi-ce-8.3.0.0- *
* 371\data-integration.\system\karaf\caches\kitchen\data-1 *
* FastBin Provider Port:52901 *
* Karaf Port:8802 *
* OSGI Service Port:9051 *
Dec 23, 2019 8:07:38 AM org.apache.karaf.main.Main$KarafLockCallback
lockAquired
INFO: Lock acquired. Setting startlevel to 100
2019/12/23 08:07:38 - Kitchen - Logging is at level : Debug
2019/12/23 08:07:38 - Kitchen - Start of run.
2019/12/23 08:07:38 - Kitchen - Allocate new job.
2019/12/23 08:07:38 - Kitchen - Parsing command line options.
2019-12-23 08:07:43.475:INFO:oejs.Server:jetty-8.1.15.v20140411
2019-12-23 08:07:43.538:INFO:oejs.AbstractConnector:Started
NIOSocketConnectorWrapper#0.0.0.0:9051
Dec 23, 2019 8:07:43 AM
org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle
org.apache.cxf.cxf-rt-management (182)
[org.apache.cxf.management.InstrumentationManager]
Dec 23, 2019 8:07:43 AM
org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle
org.apache.cxf.cxf-rt-transports-http (183)
[org.apache.cxf.transport.http.HTTPTransportFactory,
org.apache.cxf.transport.http.HTTPWSDLExtensionLoader,
org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,
org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,
org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider]
Dec 23, 2019 8:07:44 AM
org.pentaho.caching.impl.PentahoCacheManagerFactory$RegistrationHandler$1
onSuccess
INFO: New Caching Service registered
2019/12/23 08:07:45 - Job - Start of job execution
2019/12/23 08:07:45 - Job - exec(0, 0, START.0)
2019/12/23 08:07:45 - START - Starting job entry
2019/12/23 08:07:45 - Job - Job
Dec 23, 2019 8:07:46 AM org.apache.cxf.endpoint.ServerImpl
initDestination
INFO: Setting the server's publish address to be /lineage
Dec 23, 2019 8:07:47 AM org.apache.cxf.endpoint.ServerImpl
initDestination
INFO: Setting the server's publish address to be /i18n
Dec 23, 2019 8:07:48 AM org.apache.cxf.endpoint.ServerImpl
initDestination
INFO: Setting the server's publish address to be /marketplace
2019/12/23 08:07:55 - Job - Triggering heartbeat signal
for Job at every 10 seconds
Something deeper must have been corrupted, as I deleted all files, downloaded the latest version, and it worked.
to run from command line you have to run below command
path to kitchen.sh/kitchen.sh -file=".ktr filename" --level=Debug >> "log.txt"

Getting Netty client related error in storm topology and worker restarting

Version Info:
"org.apache.storm" % "storm-core" % "1.2.1"
"org.apache.storm" % "storm-kafka-client" % "1.2.1"
I have a storm Topology with 3 bolts(A,B,C), Where the middle bolt takes around 450ms mean time and other two bolts takes less than 1ms.
I am running topology with following parallelism hint values on two machines:
A: 4
B: 700
C: 10
I am getting following error after few minutes of topology starting:
in worker log:
2018-07-04T20:16:28.835+05:30 Client [ERROR] discarding 7 messages because the Netty client to Netty-Client-/ip:6700 is being closed
in supervisor logs:
2018-07-04 20:16:29.468 o.a.s.d.s.BasicContainer [INFO] Worker Process 32bc11c0-a1d0-4593-a91a-3ff788ea041a exited with code: 20
2018-07-04 20:16:31.592 o.a.s.d.s.Slot [WARN] SLOT 6700: main process has exited
2018-07-04 20:16:31.592 o.a.s.d.s.Container [INFO] Killing 2825cbe9-aedd-4f10-a796-4f9dc30ae72f:32bc11c0-a1d0-4593-a91a-3ff788ea041a
2018-07-04 20:16:31.600 o.a.s.u.Utils [INFO] Error when trying to kill 7422. Process is probably already dead.
2018-07-04 20:16:32.600 o.a.s.d.s.Slot [INFO] STATE RUNNING msInState: 391195 topo:myTopo-1-1530715184 worker:32bc11c0-a1d0-4593-a91a-3ff788ea041a -> KILL_AND_RELAUNCH msInState: 0 topo:myTopo-1-1530715184 worker:32bc11c0-a1d0-4593-a91a-3ff788ea041a
2018-07-04 20:16:32.600 o.a.s.d.s.Container [INFO] GET worker-user for 32bc11c0-a1d0-4593-a91a-3ff788ea041a
I see similar question asked here and here, I have few queries related to this:
Why is this error coming and how to resolve?
How to get more debug information from Storm, I have already set conf.setDebug(true)
Is there some limitation/guidelines around how much parallelism factor os OK for a bolt on n number of machines?
Edit:
Logs for strace -fp PID -e trace=read,write,network,signal,ipc in gist. Some relevant looking part is when above thing happends, but however I see such SIGSEGV many places in strace output :
[pid 23635] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7f83af6f1180} ---
[pid 23549] <... read resumed> "PK\3\4\n\0\0\0\10\0\364J\336F\222'\202\312\310\2\0\0\16\5\0\0\36\0\0\0", 30) = 30
[pid 23654] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7f83af6f1f80} ---
[pid 23549] read(23, "\235TmW\22A\24~\6\224\227u\vE4\255,JR\300WP\322\0245TH\23\313\3j\347"..., 712) = 712
[pid 23654] rt_sigreturn({mask=[QUIT]}) = 140203560738688
[pid 23635] rt_sigreturn({mask=[QUIT]}) = 140203560735104
strace output of worker process is here, relevant looking logs here:
[pid 24435] recvfrom(291, "HTTP/1.1 200 OK\r\nContent-Type: a"..., 8192, 0, NULL, NULL) = 544
[pid 23473] write(3, "Heap\n garbage-first heap total"..., 347) = 347
[pid 24434] +++ exited with 20 +++
[pid 24405] +++ exited with 20 +++
[pid 24435] +++ exited with 20 +++
[pid 24427] +++ exited with 20 +++
Edit 2:
There is this question as well: Connection refused error in worker logs - apache storm : as par it's answer not setting storm.local.hostname might cause it, but it is already set for me.
There is another bug filed here having similar netty error, which is also still unresolved.

AMQP 1.0 Qpid JMS and an Issue with Failover/Reconnect

Im using Qpid JMS 0.8.0 library in order to implement a standalone java AMQP client. Because the underlying transport connection tends to break every couple of hours I have set the reconnection using following configuration:
failover:(amqps://someurl:5671)?failover.reconnectDelay=2000&failover.warnAfterReconnectAttempts=1
In accordance with Qpid client configuration explanation page I expect my client to keep trying to reconnect increasing the attempt delays for factor 2 (starting with 2 seconds). Instead, according to the log file, only two attempts to reconnect have been performed when a connection failure was detected and at the end the whole client application has been terminated, what I definitively would like to avoid! Here is the log file:
2016-03-22 14:29:40 INFO AmqpProvider:1190 - IdleTimeoutCheck closed the transport due to the peer exceeding our requested idle-timeout.
2016-03-22 14:29:40 DEBUG FailoverProvider:761 - Failover: the provider reports failure: Transport closed due to the peer exceeding our requested idle-timeout
2016-03-22 14:29:40 DEBUG FailoverProvider:519 - handling Provider failure: Transport closed due to the peer exceeding our requested idle-timeout
2016-03-22 14:29:40 DEBUG FailoverProvider:653 - Connection attempt:[1] to: amqps://publish.preops.nm.eurocontrol.int:5671 in-progress
2016-03-22 14:29:40 INFO FailoverProvider:659 - Connection attempt:[1] to: amqps://publish.preops.nm.eurocontrol.int:5671 failed
2016-03-22 14:29:40 WARN FailoverProvider:686 - Failed to connect after: 1 attempt(s) continuing to retry.
2016-03-22 14:29:42 DEBUG FailoverProvider:653 - Connection attempt:[2] to: amqps://publish.preops.nm.eurocontrol.int:5671 in-progress
2016-03-22 14:29:42 INFO FailoverProvider:659 - Connection attempt:[2] to: amqps://publish.preops.nm.eurocontrol.int:5671 failed
2016-03-22 14:29:42 WARN FailoverProvider:686 - Failed to connect after: 2 attempt(s) continuing to retry.
2016-03-22 14:29:43 DEBUG ThreadPoolUtils:156 - Shutdown of ExecutorService: java.util.concurrent.ThreadPoolExecutor#778970af[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0] is shutdown: true and terminated: true took: 0.000 seconds.
2016-03-22 14:29:45 DEBUG ThreadPoolUtils:192 - Waited 2.004 seconds for ExecutorService: java.util.concurrent.ScheduledThreadPoolExecutor#877a470[Shutting down, pool size = 1, active threads = 0, queued tasks = 1, completed tasks = 3] to terminate...
2016-03-22 14:29:46 DEBUG ThreadPoolUtils:156 - Shutdown of ExecutorService: java.util.concurrent.ScheduledThreadPoolExecutor#877a470[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 4] is shutdown: true and terminated: true took: 2.889 seconds.
Any idea, what I’m doing wrong here? Basically, what I'm looking for to achieve is a client which is capable to detect transport connection failure and try to reconnect every 5-10 seconds.
Many thanks!

Error: Log capture did not start in a reasonable amount of time #472

I am new to Appium and I am trying to run the appium.app with iOS option using stimulator.I have selected the app path and show stimulator log with platform version as 8.1.
I have also added appium.txt file with the following content in the appium installation directory.
[caps]
platformName = "ios"
deviceName = "iPhone 6"
platformVersion = "8.1"
app = “/Users/dhanasekarbabu/downloads/untitled/UICatalog.app"
Also please find the following log,
Launching Appium with command: '/Applications/Appium.app/Contents/Resources/node/bin/node' lib/server/main.js --command-timeout "7200" --platform-version "8.1" --platform-name "iOS" --app "/Users/dhanasekarbabu/Downloads/untitled/UICatalog.app" --show-ios-log --default-device
info: Welcome to Appium v1.3.6 (REV 004f52f249d3513809e7d0734d9205d1fec19f8e)
info: Appium REST http interface listener started on 0.0.0.0:4723
info: [debug] Non-default server args: {"app":"/Users/dhanasekarbabu/Downloads/untitled/UICatalog.app","platformName":"iOS","platformVersion":"8.1","defaultDevice":true,"showIOSLog":true,"defaultCommandTimeout":7200}
info: Console LogLevel: debug
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: <-- GET /wd/hub/status 200 13.582 ms - 104 {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: <-- GET /wd/hub/status 200 4.070 ms - 104 {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: --> GET /wd/hub/sessions {}
info: [debug] Responding to client with success: {"status":0,"value":[]}
info: <-- GET /wd/hub/sessions 200 1.517 ms - 23 {"status":0,"value":[]}
info: --> POST /wd/hub/session {"desiredCapabilities":{"platformName":"iOS","platformVersion":"8.1","newCommandTimeout":"999999","automationName":"Appium"}}
error: The following desired capabilities are required, but were not provided: deviceName
info: Client User-Agent string: Appium (unknown version) CFNetwork/720.2.4 Darwin/14.1.0 (x86_64)
info: [debug] Got configuration error, not starting session
info: [debug] Cleaning up appium session
info: [debug] Error: The following desired capabilities are required, but were not provided: deviceName
at Capabilities.checkValidity (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/capabilities.js:143:13)
at Appium.configure (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/appium.js:238:35)
at null. (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/appium.js:118:10)
at Appium.start (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/appium.js:129:5)
at Object.exports.createSession as handle
at next_layer (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:113:13)
at Route.dispatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:117:5)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:222:24
at Function.proto.process_params (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:288:12)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:216:19)
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: The following desired capabilities are required, but were not provided: deviceName)","origValue":"The following desired capabilities are required, but were not provided: deviceName"},"sessionId":null}
info: <-- POST /wd/hub/session 500 16.616 ms - 286
error: Failed to start an Appium session, err was: Error: The following desired capabilities are required, but were not provided: deviceName
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: <-- GET /wd/hub/status 200 1.698 ms - 104 {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
Also if i select force device and provided a UDID after selecting the UDID I'm getting the issue "Failed to start an Appium session, err was: Error: Log capture did not start in a reasonable amount of time".
I have changed the stuimulator devices and i am facing the same issue.
Also please find the following go for your reference.
Launching Appium with command: '/Applications/Appium.app/Contents/Resources/node/bin/node' lib/server/main.js --command-timeout "7200" --platform-version "8.1" --platform-name "iOS" --app "/Users/dhanasekarbabu/Downloads/untitled/UICatalog.app" --udid "F07654AE-E9B5-4A5F-956A-D20091413DAB" --show-ios-log --device-name "iPhone 5 (F07654AE-E9B5-4A5F-956A-D20091413DAB)"
info: Welcome to Appium v1.3.6 (REV 004f52f249d3513809e7d0734d9205d1fec19f8e)
info: Appium REST http interface listener started on 0.0.0.0:4723
info: [debug] Non-default server args: {"app":"/Users/dhanasekarbabu/Downloads/untitled/UICatalog.app","udid":"F07654AE-E9B5-4A5F-956A-D20091413DAB","deviceName":"iPhone 5 (F07654AE-E9B5-4A5F-956A-D20091413DAB)","platformName":"iOS","platformVersion":"8.1","showIOSLog":true,"defaultCommandTimeout":7200}
info: Console LogLevel: debug
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: <-- GET /wd/hub/status 200 12.528 ms - 104 {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: <-- GET /wd/hub/status 200 4.022 ms - 104 {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"}}}
info: --> GET /wd/hub/sessions {}
info: [debug] Responding to client with success: {"status":0,"value":[]}
info: <-- GET /wd/hub/sessions 200 1.527 ms - 23 {"status":0,"value":[]}
info: --> POST /wd/hub/session {"desiredCapabilities":{"platformName":"iOS","platformVersion":"8.1","newCommandTimeout":"999999","automationName":"Appium","deviceName":"iPhone 5 (F07654AE-E9B5-4A5F-956A-D20091413DAB)"}}
info: Client User-Agent string: Appium (unknown version) CFNetwork/720.2.4 Darwin/14.1.0 (x86_64)
info: [debug] Using local app from command line: /Users/dhanasekarbabu/Downloads/untitled/UICatalog.app
info: [debug] Creating new appium session 8a4d5f38-d574-4338-85e3-443e04a26ed8
info: [debug] Removing any remaining instruments sockets
info: [debug] Cleaned up instruments socket /tmp/instruments_sock
info: [debug] Setting Xcode folder
info: [debug] Setting Xcode version
info: [debug] Setting iOS SDK Version
info: [debug] Getting sdk version from xcrun with a timeout
info: [debug] iOS SDK Version set to 8.2
info: [debug] Not checking whether simulator is available since we're on a real device
info: [debug] Detecting automation tracetemplate
info: [debug] Not auto-detecting udid, running on sim
info: [debug] Parsed app Info.plist (as binary)
info: [debug] Parsed app Localizable.strings
info: [debug] Getting bundle ID from app
info: [debug] Parsed app Info.plist (as binary)
info: [debug] Creating instruments
info: On some xcode 6 platforms, instruments-without-delay does not work. If you experience this, you will need to re-run appium with the --native-instruments-lib flag
info: [debug] Preparing uiauto bootstrap
info: [debug] Dynamic bootstrap dir: /Users/dhanasekarbabu/Library/Application Support/appium/bootstrap
info: [debug] Dynamic env: {"nodePath":"/Applications/Appium.app/Contents/Resources/node/bin/node","commandProxyClientPath":"/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js","instrumentsSock":"/tmp/instruments_sock","interKeyDelay":null,"justLoopInfinitely":false,"autoAcceptAlerts":false,"autoDismissAlerts":false,"sendKeyStrategy":"grouped"}
info: [debug] Dynamic bootstrap code: // This file is automatically generated. Do not manually modify!
...
info: [debug] Dynamic bootstrap path: /Users/dhanasekarbabu/Library/Application Support/appium/bootstrap/bootstrap-2911698fabce8e2c.js
info: [debug] Reusing dynamic bootstrap: /Users/dhanasekarbabu/Library/Application Support/appium/bootstrap/bootstrap-2911698fabce8e2c.js
info: [debug] Getting device string from opts: {"forceIphone":false,"forceIpad":false,"xcodeVersion":"6.2","iOSSDKVersion":"8.2","deviceName":"iPhone 5 (F07654AE-E9B5-4A5F-956A-D20091413DAB)","platformVersion":"8.1"}
info: [debug] fixDevice is on
info: [debug] Final device string is: 'iPhone 5 (F07654AE-E9B5-4A5F-956A-D20091413DAB) (8.1 Simulator)'
info: [debug] Not setting device type since we're on a real device
info: [debug] Checking whether we need to set app preferences
info: [debug] Not setting iOS and app preferences since we're on a real device
info: [debug] Running ios sim reset flow
info: [debug] Killing the simulator process
info: [debug] Killall iOS Simulator
info: [debug] Killing any other simulator daemons
info: [debug] On a real device; cannot clean device state
info: [debug] Not setting locale because we're using a real device
info: [debug] No iOS / app preferences to set
info: [debug] Starting iOS device log capture via deviceconsole
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"},"isShuttingDown":false},"sessionId":"8a4d5f38-d574-4338-85e3-443e04a26ed8"}
info: <-- GET /wd/hub/status 200 2.968 ms - 178 {"status":0,"value":{"build":{"version":"1.3.6","revision":"004f52f249d3513809e7d0734d9205d1fec19f8e"},"isShuttingDown":false},"sessionId":"8a4d5f38-d574-4338-85e3-443e04a26ed8"}
info: [debug] Cleaning up appium session
info: [debug] Error: Log capture did not start in a reasonable amount of time
at null._onTimeout (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-log.js:137:10)
at Timer.listOnTimeout (timers.js:110:15)
error: Log capture did not start in a reasonable amount of time
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Log capture did not start in a reasonable amount of time)","origValue":"Log capture did not start in a reasonable amount of time"},"sessionId":null}
info: <-- POST /wd/hub/session 500 10325.771 ms - 234
info: [debug] Not pre-launching simulator
info: [debug] Creating iDevice object with udid F07654AE-E9B5-4A5F-956A-D20091413DAB
info: [debug] Checking app install status using: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/fruitstrap/fruitstrap isInstalled --id F07654AE-E9B5-4A5F-956A-D20091413DAB --bundle com.example.apple-samplecode.UICatalog
error: Failed to start an Appium session, err was: Error: Log capture did not start in a reasonable amount of time
Please help me to solve this issue.
Thanks in Advance
Regards,
Rajesh D

Avoid New Relic attaching to leiningen on Heroku

I've enabled New Relic monitoring for my Clojure app running on Heroku. To avoid the overhead of nesting my app inside Leiningen's JVM process, I start up with lein trampoline run.
This apparently adds some overhead from New Relic attaching to the initial Leiningen process, which then shuts down and launches my app, causing delay for New Relic to attach once again. This can sometimes result in not starting up within the 30-second boot timeout window and results in downtime.
Log output showing both New Relic agents starting up:
heroku/web.1: Starting process with command `lein trampoline run`
app/web.1: [date] NewRelic 1 INFO: Agent is using Log4j
app/web.1: [date] NewRelic 1 INFO: Loading configuration file "/app/newrelic/./newrelic.yml"
app/web.1: [date] NewRelic 1 INFO: Agent Host: 866e2426-7a0f-4293-ae89-b55c0332253e IP: 10.159.0.212
app/web.1: [date] NewRelic 1 INFO: Setting audit_mode to false
app/web.1: [date] NewRelic 1 INFO: Setting protocol to "http"
app/web.1: [date] NewRelic 1 INFO: Configuration file is /app/newrelic/./newrelic.yml
app/web.1: [date] NewRelic 1 INFO: New Relic Agent v2.9.0 has started
app/web.1: [date] NewRelic 1 INFO: Java version: 1.6.0_20
app/web.1: [date] NewRelic 1 INFO: Agent class loader: sun.misc.Launcher$AppClassLoader#7ea2dfe
app/web.1: [date] NewRelic 5 INFO: JVM is shutting down
app/web.1: [date] NewRelic 5 INFO: New Relic Agent has shutdown
app/web.1: [date] NewRelic 1 INFO: Agent is using Log4j
app/web.1: [date] NewRelic 1 INFO: Loading configuration file "/app/newrelic/./newrelic.yml"
app/web.1: [date] NewRelic 1 INFO: Agent Host: 866e2426-7a0f-4293-ae89-b55c0332253e IP: 10.159.0.212
app/web.1: [date] NewRelic 1 INFO: Configured to connect to New Relic at collector.newrelic.com:80
app/web.1: [date] NewRelic 1 INFO: Setting audit_mode to false
app/web.1: [date] NewRelic 1 INFO: Setting protocol to "http"
app/web.1: [date] NewRelic 1 INFO: Configuration file is /app/newrelic/./newrelic.yml
app/web.1: [date] NewRelic 1 INFO: New Relic Agent v2.9.0 has started
app/web.1: [date] NewRelic 1 INFO: Java version: 1.6.0_20
app/web.1: [date] NewRelic 1 INFO: Agent class loader: sun.misc.Launcher$AppClassLoader#7ea2dfe
Is there a way to avoid having New Relic attach to the leiningen process?
Instead of having -javaagent:newrelic/newrelic.jar set in your Heroku config's JVM_OPTS, could you not set it in your production profile's :jvm-opts in your project.clj?

Resources