Metric Search

Most Atlassian products allow a plugin to store plugin specific data as properties in the product instead of an external database.
For instance a plugin can store a specific value as a property of an issue. There is no need to configure a custom field or any other stuff to make this possible.
JIRA also allows the user to use these properties as search parameters during an JQL based search, if the plugin has marked this properties as searchable.

HeyQL Metrics calculates and stores a bunch of properties for each issue, which is using metric data. So you are able to search for issues, where the highest metric entry was below a specific value during the last week.
Or you can search for metrics, which haven't got any new metric entries in the last 3 days.

These property parameters can be freely combined with other JQL parameters or functions. So you have the complete freedom for your issue search.

Usage

Using JQL Name

HeyQL Metrics comes with a bunch of new JQL parameters. All issue properties which are stored by HeyQL Metrics have an JQL aliases, which can be easily used in JQL based searches.

JIRA autocompletes your jql if you start typing. So in the Issue Navigator open the Advanced mode and write "metric" und JIRA will provide a list of all alvailable JLQ parameters regarding metrics.

Example

metricAmount > 5 AND metricHighestValue > 100

Examples

Search for issues, where ...

... the highest metric entry is above a value of 100

metricHighestValue > 100

... the lowest metric entry is under 10 during the last month

metricMonthLowestValue < 10

... the mean of all metric entries is between 30 and 70

metricMeanValue >= 30 AND metricMeanValue <= 70 

... the mean of all metric entries of the last WEEK is under 40 but the mean of all metric entries for the last MONTH is above 50 
So we search for metrics, which went worst by a difference above 10 during the last week

metricWeekMeanValue < 40 AND metricMonthMeanValue> 50

... the team is "Website Guys" (projectkey= WEB) and the label is "SW_Quality" and the issuetype is "metric" and the last metric entry is below 20

project = WEB AND label = SW_Quality AND issuetype = metric AND metricRecentValue < 20

Time windows

The time based properties like day, week or year are calculating data based on a time window. The time windows are defined as following:

Time windowdefinition
hourone hour
day24 hours
week

7 x 24 hours = 168 hours

month4 x 7 x 24 hours = 672 hours
quarter24 hours x 365 days / 4 = 2190 hours
year24 hours x 365 days = 8760 hours

Examples

The following JQL will give you the highest value bigger 20 of all metric entries stored with a timestamp in the last 168 hours:

metricWeekHighestValue > 20

Because a month in HeyQL Metrics is based on hours, a search performed on 1.5.2016 does not only consider metric entries with a timestamp higher than 1.4.2016.
1.5.2016 16:00 minus 672 hours = 3.4.2016 16:00

Properties

metric

JQL nameTypeDescriptionCalculationTime windowProperty Name
metricAmountnumberamount of all metric entries infiniteamount.value
metricOldestValuenumbervalue of the oldest entry oldestoldest.value
metricOldestTimestampdatetimestamp of the oldest entry oldestoldest.timestamp
metricRecentValuenumbervalue of recent entry recentrecent.value
metricRecentTimestampdatetimestamp of recent entry recentrecent.timestamp
metricHighestValuenumberhighest valuehighestinfinitehighest.value
metricHighestTimestampdatetimestamp of highest entryhighestinfinitehighest.timestamp
metricLowestValuenumberlowest valuelowestinfinitelowest.value
metricLowestTimestampdatetimestamp of lowest entrylowestinfinitelowest.timestamp
metricMeanValuenumbermean valuemeaninfinitemean.value
metricHourHighestValuenumberhighest value in the last hourhighesthourhour.highest.value
metricHourHighestTimestampdatetimestamp of highest entry in the last hourhighesthourhour.highest.timestamp
metricHourLowestValuenumberlowest value in the last hourlowesthourhour.lowest.value
metricHourLowestTimestampdatetimestamp of lowest entry in the last hourlowesthourhour.lowest.timestamp
metricHourMeanValuenumbermean value in the last hourmeanhourhour.mean.value
metricDayHighestValuenumberhighest value in the last dayhighestdayday.highest.value
metricDayHighestTimestampdatetimestamp of highest entry in the last dayhighestdayday.highest.timestamp
metricDayLowestValuenumberlowest value in the last daylowestdayday.lowest.value
metricDayLowestTimestampdatetimestamp of lowest entry in the last daylowestdayday.lowest.timestamp
metricDayMeanValuenumbermean value in the last daymeandayday.mean.value
metricDayHighestValuenumberhighest value in the last weekhighestweekweek.highest.value
metricWeekHighestTimestampdatetimestamp of highest entry in the last weekhighestweekweek.highest.timestamp
metricWeekLowestValuenumberlowest value in the last weeklowestweekweek.lowest.value
metricWeekLowestTimestampdatetimestamp of lowest entry in the last weeklowestweekweek.lowest.timestamp
metricWeekMeanValuenumbermean value in the last weekmeanweekweek.mean.value
metricMonthHighestValuenumberhighest value in the last monthhighestmonthmonth.highest.value
metricMonthHighestTimestampdatetimestamp of highest entry in the last monthhighestmonthmonth.highest.timestamp
metricMonthLowestValuenumberlowest value in the last monthlowestmonthmonth.lowest.value
metricMonthLowestTimestampdatetimestamp of lowest entry in the last monthlowestmonthmonth.lowest.timestamp
metricMonthMeanValuenumbermean value in the last monthmeanmonthmonth.mean.value
metricQuarterHighestValuenumberhighest value in the last quarterhighestquarterquarter.highest.value
metricQuarterHighestTimestampdatetimestamp of highest entry in the last quarterhighestquarterquarter.highest.timestamp
metricQuarterLowestValuenumberlowest value in the last quarterlowestquarterquarter.lowest.value
metricQuarterLowestTimestampdatetimestamp of lowest entry in the last quarterlowestquarterquarter.lowest.timestamp
metricQuarterMeanValuenumbermean value in the last quartermeanquarterquarter.mean.value
metricYearHighestValuenumberhighest value in the last yearhighestyearyear.highest.value
metricYearHighestTimestampdatetimestamp of highest entry in the last yearhighestyearyear.highest.timestamp
metricYearLowestValuenumberlowest value in the last yearlowestyearyear.lowest.value
metricYearLowestTimestampdatetimestamp of lowest entry in the last yearlowestyearyear.lowest.timestamp
metricYearMeanValuenumbermean value in the last yearmeanyearyear.mean.value

Additional documentation

The following documentation is provided by Atlassian and may give you information regarding JIRA Entity Properties.

JIRA Documentation for Entity Properties: https://developer.atlassian.com/jiradev/jira-platform/building-jira-add-ons/jira-entity-properties-overview

Connect Documentation Entity Properties in JIRA:  https://developer.atlassian.com/static/connect/docs/latest/modules/jira/entity-property.html

Connect Documentation for Hosted Data Storage: https://developer.atlassian.com/static/connect/docs/latest/concepts/hosted-data-storage.html