Re: Missing reports while executing Gatling tests

93 views
Skip to first unread message

Richard Friedman

unread,
Nov 10, 2016, 8:11:33 AM11/10/16
to Daniel Nirenberg, RedLine13, Ori Cohen, Igor Korenblat
Hey guys,

Are you using the 'maven' plugin?  
We monitor the simulation.log file.  I think when we put together the maven plugin ( I believe for you guys ) we mentioned that. 
We look for the simulation log in output/**/simulation.log, relative to where the master test started from.

Are you overriding the log file location? if so how?

I see this in the output file
09:55:49,908 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
09:55:49,908 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
09:55:49,909 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/home/user33508/test-runner/target/test-classes/logback.xml]
09:55:49,909 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
09:55:49,910 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/tmp/repo/io/gatling/gatling-maven-plugin/2.2.0/gatling-maven-plugin-2.2.0.jar!/logback.xml]
09:55:49,910 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [file:/home/user33508/test-runner/target/test-classes/logback.xml]
09:55:50,024 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
09:55:50,037 |-INFO in ch.qos.logback.classic.joran.action.LoggerContextListenerAction - Adding LoggerContextListener of type [ch.qos.logback.classic.jul.LevelChangePropagator] to the object stack
09:55:50,068 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@4310d43 - Propagating DEBUG level on Logger[ROOT] onto the JUL framework
09:55:50,068 |-INFO in ch.qos.logback.classic.joran.action.LoggerContextListenerAction - Starting LoggerContextListener
09:55:50,069 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
09:55:50,072 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
09:55:50,080 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
09:55:50,146 |-INFO in ch.qos.logback.core.FileAppender[FILE] - File property is set to [/opt/GatlingSources/logs/gatling.log]
09:55:50,148 |-ERROR in ch.qos.logback.core.FileAppender[FILE] - Failed to create parent directories for [/opt/GatlingSources/logs/gatling.log]
09:55:50,149 |-ERROR in ch.qos.logback.core.FileAppender[FILE] - openFile(/opt/GatlingSources/logs/gatling.log,false) call failed. java.io.FileNotFoundException: /opt/GatlingSources/logs/gatling.log (No such file or directory)
	at java.io.FileNotFoundException: /opt/GatlingSources/logs/gatling.log (No such file or directory)
	at 	at java.io.FileOutputStream.open0(Native Method)
	at 	at java.io.FileOutputStream.open(FileOutputStream.java:270)
	at 	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
	at 	at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:26)
	at 	at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:186)
	at 	at ch.qos.logback.core.FileAppender.start(FileAppender.java:121)
	at 	at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:90)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)
	at 	at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:155)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:142)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:103)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
	at 	at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
	at 	at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)
	at 	at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
	at 	at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
	at 	at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
	at 	at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
	at 	at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
	at 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
	at 	at com.typesafe.scalalogging.StrictLogging$class.$init$(Logging.scala:38)
	at 	at io.gatling.core.config.GatlingConfiguration$.<init>(GatlingConfiguration.scala:37)
	at 	at io.gatling.core.config.GatlingConfiguration$.<clinit>(GatlingConfiguration.scala)
	at 	at io.gatling.app.Gatling$.start(Gatling.scala:53)
	at 	at io.gatling.app.Gatling$.fromArgs(Gatling.scala:49)
	at 	at io.gatling.app.Gatling$.main(Gatling.scala:43)
	at 	at io.gatling.app.Gatling.main(Gatling.scala)
	at 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at 	at java.lang.reflect.Method.invoke(Method.java:498)
	at 	at io.gatling.mojo.MainWithArgsInFile.runMain(MainWithArgsInFile.java:50)
	at 	at io.gatling.mojo.MainWithArgsInFile.main(MainWithArgsInFile.java:33)



On Thu, Nov 10, 2016 at 6:47 AM, Daniel Nirenberg <dan...@liveperson.com> wrote:
Adding my team mates..

On Thu, Nov 10, 2016 at 1:47 PM, Daniel Nirenberg <dan...@liveperson.com> wrote:
Hello,
My name is Daniel, and I'm a performance engineer in LivePerson.
I've executed Gatling test in Redline13 service and it worked great, but no online monitoring and no report after the test has ended was provided... Which worked for us in Jmeter tests.
The report and the online monitoring is essential for our work off course.


Please advise.

Best regards,
 
Daniel Nirenberg
Performance Engineer
T: +972-74-700-4322
We Create Meaningful Connections




--
 
Daniel Nirenberg
Performance Engineer
T: +972-74-700-4322
We Create Meaningful Connections
 

This message may contain confidential and/or privileged information. 
If you are not the addressee or authorized to receive this on behalf of the addressee you must not use, copy, disclose or take action based on this message or any information herein. 
If you have received this message in error, please advise the sender immediately by reply email and delete this message. Thank you.



--
Richard Friedman
609.314.0129

Ori Cohen

unread,
Nov 14, 2016, 7:32:51 AM11/14/16
to Richard Friedman, Daniel Nirenberg, RedLine13, Igor Korenblat
Hi Rich,

We are using the maven plugin. As far as I know there is no other way to run a Gatling test over Redline13.
We use the "install" as the maven phase.

We do not override the simulation.log file path. We also are not even aware of a way to do that.
The reason for the error you see in this log is because we have a file appender in the logback.xml file used by Gatling as you can see below:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
    </contextListener>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>/opt/GatlingSources/logs/gatling.log</file>
        <append>false</append>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
        </encoder>
    </appender>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
            <immediateFlush>false</immediateFlush>
        </encoder>
    </appender>

    <!-- Uncomment for logging ALL HTTP request and responses -->
    <!-- <logger name="io.gatling.http" level="TRACE" /> -->
    <!-- Uncomment for logging ONLY FAILED HTTP request and responses -->
    <!-- <logger name="io.gatling.http" level="DEBUG" /> -->

    <root level="WARN">
        <appender-ref ref="FILE" />
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

We are aware that this path does not exist on the servers Redline13 runs the tests on, and are also aware that Gatling (at least on all other servers we use) is able to handle this failure and continue normally without any issue.

Anyway, this is not the simulation.log file that gets written by default to the ../target/gatling/results directory under the test root directory.

Please advise

Ori Cohen
Lead Resilience Engineer
T: +972-74-700-4737
We Create Meaningful Connections
Reply all
Reply to author
Forward
0 new messages