how jenkins job console output works? - ajax

I am thinking to integrate console outputting technology of jenkins job in one my application. We see that jenkins jobs continuously prints the command output in console with minimum buffer and no page refresh. Can anyone detail how its achieved in jenkins?

Basically it has an ajax request which asks for chunks of log every second. More info can be found here. Links to files mentioned in the post; LargeText, console.jelly, progressiveTest.jelly.

Related

How I can set up Jmeter to give me daily results

I've started using Jmeter to run daily performance tests, and have also just figured out how to produce an HTML dashboard.
What I need to do now is find a way to run Jmeter every day, producing an HMTL dashboard of the results, but with comparisons of the results of the last few days. This would mean adding to the data of existing files instead of creating a new HTML dashboard every day.
Can anyone help me with this?
The easiest solution is adding your JMeter test under Jenkins control.
Jenkins provides:
Flexible mechanism of scheduling a job
There is a Performance Plugin for Jenkins which automatically analyses current and previous builds and displays performance trend chart on JMeter Dashboard
Alternatively you can schedule JMeter runs using i.e. Windows Task Scheduler and compare the current run with the previous one using Merge Results plugin

Oozie - Task Logs Do not Display

Using CDH 5, when I run my oozie workflow I no longer see log-statements from my mappers (log4j, slf4j). I even tried System.out.println - I still don't see the statements. Is there a setting I'm missing?
It turned out that the logs are still there except you need to manually point your browser to it. For example, clicking on a map-reduce action still opens the job log page something like (http://localhost:50030/jobdetails.jsp?jobid=job_201510061631_2112).
However to get the result for the actual job, I need to increment the jobid to job_201510061631_2113

Viewing TeamCity service messages

I'm troubleshooting a build step in TeamCity 9.0.4. The problem seems to lie within the service message output. Is it possible to view these after the build has completed? They are not included in the build log.
The documentation on service messages simply says In order to be processed by TeamCity, they should be printed into a standard output stream of the build.
https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity
(To some extent the service messages can be viewed by manually rerunning the build step and monitoring standard output, but this is not always feasible.)
The documentation for service message implies that you need to write service messages to standard out/error rather than to a log file. If you write it to standard out, teamcity will automatically pick it up and show it in the **build logs ** tab
What this means is that if you have a
shell script, use echo for your service messages
java class, use System.out.println
and so on
Different languages also have different plugins for this , for ex perl has TapHarness.pl to write teamcity messages to the console.
EDIT:
If you want to just view service messages , you can find them in the build logs on the teamcity agent that the build ran on. If you do not find them in the build logs , either the build log has rolled over or you need to increase the verbosity or debug level of your logs(depends on the language).
There was a problem which is solved nowdays:
TeamCity now parses service messages inside other service messages, but only if original message was tagged with tc:parseServiceMessagesInside. Example:
##teamcity[testStdOut name='test1' out='##teamcity|[buildStatisticValue key=|'my_stat_value|' value=|'125|'|]' tc:tags='tc:parseServiceMessagesInside']
A link to JetBrains bug tracker:
https://youtrack.jetbrains.com/issue/TW-45311

Run a phantom.js file on Heroku regularly

I've uploaded a single file to Heroku that crawls a website and responds the edited content in JSON format on an http request. I now want to update the content regularly so the content stays up to date. I tried using the Heroku Scheduler however I am failing to schedule the process so that it runs correctly.
I have specified the following process in the Heroku Scheduler:
run phantomjs phantom.js //Using 1X Dyno, every hour.
//phantom.js is the file that contains my source code and that runs the server.
However if I enter
heroku ps
into the terminal, I only see one web dyne running and no scheduler task. Also if I type
heroku logs --ps scheduler.1
as described in the Scheduler documentation, there is no output.
What am I doing wrong? Any help would be appreciated.
For what it sounds like you want to accomplish, you need to be constantly running
1 Web Dyno
1 Background Worker
When your scheduled task executes, it will be run by the background worker. Which, since you haven't provisioned it, isn't executing.
Found it: I only had to write
phantomjs phantom.js
in order to get it working. It was the "run" that made the expression invalid

How can i check my script is working fine in JMeter?

I am new to JMeter. I did my first script in JMeter.
My scenario is: clicking a button, i.e. after login, click that button. Thats it. Upto this i have recorded for my script using JMeter.
When i run for single user, it gives proper output for any different user. But when i run with concurrent users (2 or more users with User Parameters pre-processor), it shows error in clicking that button.
I have used View Results Tree as listener to see the results.
In sometimes, it does not show error. So i can't identify the exact reason, why it fails.
Can you please anyone can guide me regarding this?
I am completely new to this JMeter.
Thanks in Advance,
A 500 internal server error indicates jmeter is making the connection to your server and your server is having difficulty processing the request. You should probably look at your server log files to see if there are any errors or exceptions (apache/jetty/etc log file).
Additionally, when you DO actually have an issue with jmeter and you can't seem to figure out what is going on from your listener output, you can view the jmeter.log file created in the directory when jmeter is run from. This usually gives more detailed information regarding failures in jmeter.

Resources