How to monitor Jira performance with Apdex

Still need help?

The Atlassian Community is here for you.

Ask the community

As an admin you can monitor your Jira server and Data Center performance by checking the Apdex metric. The metric is collected on hourly basis and displayed in the  $JIRA_HOME/log/atlassian-jira-apdex.log log file. If you run Jira Data Center, the Apdex metric is calculated per node.

This is JIRA dark feature that is enabled by default. To disable it, add the dark feature jira.apdex.stats.disabled.


File format

The file has the following format:

Apdex file
2022-02-10 10:01:00,054+0100 category: overall, apdex: {apdexScore=25, satisfiedCount=0, toleratingCount=1, frustratedCount=1}
2022-02-10 10:01:00,055+0100 category: jira.gadgets.iframe.activity-stream, apdex: {apdexScore=50, satisfiedCount=0, toleratingCount=1, frustratedCount=0}
2022-02-10 10:01:00,055+0100 category: jira.dashboard, apdex: {apdexScore=0, satisfiedCount=0, toleratingCount=0, frustratedCount=1}
2022-02-10 12:01:00,272+0100 category: jira.header.menu.admin, apdex: {apdexScore=100, satisfiedCount=2, toleratingCount=0, frustratedCount=0}
2022-02-10 12:01:00,275+0100 category: jira.header.menu.profile, apdex: {apdexScore=100, satisfiedCount=3, toleratingCount=0, frustratedCount=0}
2022-02-10 12:01:00,275+0100 category: jira.dashboard, apdex: {apdexScore=72, satisfiedCount=4, toleratingCount=5, frustratedCount=0}
2022-02-10 12:01:00,275+0100 category: overall, apdex: {apdexScore=88, satisfiedCount=17, toleratingCount=5, frustratedCount=0}
2022-02-10 12:01:00,276+0100 category: jira.header.menu.dashboards, apdex: {apdexScore=100, satisfiedCount=1, toleratingCount=0, frustratedCount=0}
2022-02-10 12:01:00,276+0100 category: jira.gadgets.iframe.activity-stream, apdex: {apdexScore=100, satisfiedCount=7, toleratingCount=0, frustratedCount=0}
2022-02-10 14:01:00,003+0100 category: jira.header.menu.admin, apdex: {apdexScore=100, satisfiedCount=1, toleratingCount=0, frustratedCount=0}
2022-02-10 14:01:00,005+0100 category: overall, apdex: {apdexScore=83, satisfiedCount=2, toleratingCount=1, frustratedCount=0}
2022-02-10 14:01:00,005+0100 category: jira.gadgets.iframe.activity-stream, apdex: {apdexScore=100, satisfiedCount=1, toleratingCount=0, frustratedCount=0}
2022-02-10 14:01:00,006+0100 category: jira.dashboard, apdex: {apdexScore=50, satisfiedCount=0, toleratingCount=1, frustratedCount=0}

where 

  • 2022-02-10 10:01:00,055+0100 - is the write timestamp
  • jira.dashboard - is the category
  • apdex score - has the values of 0-100
  • satisfiedCount/toleratingCount/frustratedCount - is the number of page views/loads.

The apdexScore will show -1 value if the satisfiedCount/toleratingCount/frustratedCount are zeroed.

File location and categories

The current Apdex metric can be accessed using REST API. For example, you can use the following calls

  • /rest/apdex/1/apdex?key=overall
  • /rest/apdex/1/apdex?key=jira.dashboard


After a full hour the average metric is sent to the $JIRA_HOME/log/atlassian-jira-apdex.log  log file. Each log file can have a maximum of 20 MB and we collect a maximum of 5 files before they get overwritten (from the oldest up). The log file lists all the available categories. 

The following are the most popular categories that are available:

Selected Jira Core/Software Apdex categories:

KeyName
overallAll pages/interactions
jira.dashboardJira dashboard
jira.project.issue.view-issueProject issue view
jira.issue.viewFull page issue view
jira.issue.nav-detailIssue navigator with issue details
jira.agile.workAgile board view
jira.agile.work-detailAgile board view with open issue
jira.agile.planAgile backlog view
jira.agile.plan-detailAgile backlog view with open issue
jira.issue.nav-listSearch list view

Thresholds

Generally, we use default thresholds where:

- full page load is <1s = 1 Apdex point, < 4s = 0.5 apdex
- partial page load (SPA) is <0.25s =1 point, <1s = 0.5 point

However some features might have custom thresholds. Also, the "ready" state might differ between pages and interactions. For example, the View issue page is considered as ready for user once the summary header is rendered.


To understand how the thresholds translate into scores, check its Wikipedia page or the full specification.

Troubleshooting

  • Logs are not written?

It could be Jira doesn't have enough permissions to create or edit the file, you can check both KBs according to the platform Jira is installed:

https://confluence.atlassian.com/jirakb/how-to-fix-directory-permissions-in-linux-for-jira-server-829048437.html

https://confluence.atlassian.com/jirakb/how-to-fix-directory-permissions-in-windows-for-jira-server-1004961049.html

It's also possible that the log4j properties file is not recording the correct permission level for the Apdex job, do check the following line and make sure INFO is set

Jira log4j file
...
log4j.logger.com.atlassian.jira.apdex.impl.SendAnalyticsJobRunner = INFO, apdexlog
...
Last modified on Mar 21, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.