diff --git a/dashboards/apdex-optimizer/apdex-optimizer.json b/dashboards/apdex-optimizer/apdex-optimizer.json new file mode 100644 index 0000000000..025ba27127 --- /dev/null +++ b/dashboards/apdex-optimizer/apdex-optimizer.json @@ -0,0 +1,322 @@ +{ + "name": "Apdex Optimizer", + "description": null, + "pages": [ + { + "name": "Apdex Optimizer", + "description": null, + "widgets": [ + { + "title": "Transaction Apdex Breakdown", + "layout": { + "column": 1, + "row": 1, + "width": 2, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT filter(count(*), WHERE apdexPerfZone = 'S') as 'Satisfied', filter(count(*), WHERE apdexPerfZone = 'T') as 'Tolerating', filter(count(*), WHERE apdexPerfZone = 'F') as 'Frustrated' FROM Transaction SINCE 1 day ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Apdex Score", + "layout": { + "column": 3, + "row": 1, + "width": 5, + "height": 4 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT apdex(duration) from Transaction TIMESERIES facet appName since 1 day ago LIMIT 50" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Transaction Apdex Breakdown", + "layout": { + "column": 8, + "row": 1, + "width": 5, + "height": 4 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT filter(count(*),WHERE transactionType IS NOT NULL ) as 'All Transactions',filter(count(*), WHERE apdexPerfZone = 'S') as 'Satisfied', filter(count(*), WHERE apdexPerfZone = 'T') as 'Tolerating', filter(count(*), WHERE apdexPerfZone = 'F') as 'Frustrated' FROM Transaction facet appName since 1 day ago limit 50" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Suggested APM ApdexT", + "layout": { + "column": 1, + "row": 2, + "width": 2, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT percentile(duration, 90) as 'Suggested Apdex' FROM Transaction SINCE 1 DAY ago limit 1" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 3, + "width": 2, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "\n## Addtional Resources\n\n* **Nerdpack** [nr1-apdex-optimizer](https://github.com/newrelic/nr1-apdex-optimizer)\n* **Automated Apdex Thresholds** [automated-apdex-thresholds](https://github.com/newrelic-experimental/automated-apdex-thresholds)\n\n" + } + }, + { + "title": "Choose APM Application? Filterable", + "layout": { + "column": 1, + "row": 5, + "width": 4, + "height": 4 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Avg duration", + "precision": 4, + "type": "decimal" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": " \n\nSELECT count(*), apdex(duration) as 'Apdex Score', average(duration) FROM Transaction FACET appName since 1 day ago limit 200" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Choose Transaction?", + "layout": { + "column": 5, + "row": 5, + "width": 4, + "height": 4 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Avg duration", + "precision": 5, + "type": "decimal" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*), apdex(duration) as 'Apdex Score', average(duration) FROM Transaction FACET name since 1 day ago limit 200" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Choose Status Code?", + "layout": { + "column": 9, + "row": 5, + "width": 4, + "height": 4 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) FROM Transaction FACET http.statusCode LIMIT 50 SINCE 1 day ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 9, + "width": 12, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "### Recommendations \n________" + } + }, + { + "title": "Application Apdex T Value Recommendation", + "layout": { + "column": 1, + "row": 10, + "width": 6, + "height": 6 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Avg duration", + "precision": 3, + "type": "decimal" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*),percentile(duration, 70, 80, 90, 95),apdex(duration) as 'Apdex Score', average(duration) FROM Transaction FACET appName since 1 day ago limit 200" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Transaction Apdex Values Das", + "layout": { + "column": 7, + "row": 10, + "width": 6, + "height": 6 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Avg duration", + "precision": 4, + "type": "decimal" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*),percentile(duration, 70, 80, 92, 96),apdex(duration) as 'Apdex Score', average(duration) FROM Transaction FACET name since 1 day ago " + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + } + ], + "variables": [] + } \ No newline at end of file diff --git a/dashboards/apdex-optimizer/apdex-optimizer.png b/dashboards/apdex-optimizer/apdex-optimizer.png new file mode 100644 index 0000000000..6b0a3a6f5e Binary files /dev/null and b/dashboards/apdex-optimizer/apdex-optimizer.png differ diff --git a/data-sources/apdex-optimizer/config.yml b/data-sources/apdex-optimizer/config.yml new file mode 100644 index 0000000000..9b13e98039 --- /dev/null +++ b/data-sources/apdex-optimizer/config.yml @@ -0,0 +1,9 @@ +id: apdex-optimizer +displayName: Apdex Optimizer +description: | + Comprehensive APM dashboard providing actionable insights, including Apdex scores over time, detailed breakdowns, transaction-level data, and threshold recommendations, empowering users to optimize application performance effectively +install: + primary: + link: + url: https://docs.newrelic.com/docs/apm/new-relic-apm/apdex/apdex-measure-user-satisfaction/ +icon: logo.svg diff --git a/data-sources/apdex-optimizer/logo.svg b/data-sources/apdex-optimizer/logo.svg new file mode 100644 index 0000000000..e0680f2866 --- /dev/null +++ b/data-sources/apdex-optimizer/logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/quickstarts/apdex-optimizer/config.yml b/quickstarts/apdex-optimizer/config.yml new file mode 100644 index 0000000000..0cbb29229f --- /dev/null +++ b/quickstarts/apdex-optimizer/config.yml @@ -0,0 +1,78 @@ +# Sets the URL name of the quickstart on public I/O (required) +slug: apdex-optimizer + +# Displayed in the UI (required) +title: Apdex Optimizer + +# Long-form description of the quickstart (required) +description: | + **Summary of Apdex Optimizer Dashboard** + + ## 1. Apdex Score Overview: + - Timeseries chart displaying Apdex scores for each APM application. + - Highlights performance trends over time. + + ## 2. Apdex Breakdown: + - Detailed breakdown table showcasing Apdex scores for different aspects of your application. + - Identifies areas of improvement and potential bottlenecks. + + ## 3. Transaction-level Insights: + - In-depth Apdex information on individual transactions. + - Pinpoints specific transaction performance for focused optimization. + + ## 4. Threshold Recommendations: + - Application Apdex T Value Recommendation table guides optimal threshold settings. + - Helps fine-tune Apdex parameters for enhanced performance monitoring. + + ## 5. Transaction Apdex Values: + - Transaction Apdex Values table provides granular insights into transaction-level performance. + - Enables precise adjustments for optimal user satisfaction. + + ### Actionable Takeaways: + - Identify and address performance trends through Apdex score patterns. + - Optimize specific transactions based on detailed Apdex insights. + - Fine-tune Apdex thresholds for applications to improve overall monitoring effectiveness. + + ### Benefits: + - Enhanced visibility into application performance. + - Proactive identification of potential issues. + - Improved user satisfaction through targeted optimizations. + + This comprehensive Apdex Optimizer dashboard empowers you with actionable data to make informed decisions, ensuring your applications perform at their best. + +# Displayed in search results and recommendations. Summarizes a quickstarts functionality. +summary: | + Comprehensive APM dashboard providing actionable insights, including Apdex scores over time, detailed breakdowns, transaction-level data, and threshold recommendations, empowering users to optimize application performance effectively + +# Support level: New Relic | Verified | Community (required) +level: New Relic + +# Authors of the quickstart (required) +authors: + - Darren Doyle + +# Keywords for filtering / searching criteria in the UI +keywords: + - apm + - transactions + - apdex + - errors + + + +# Reference to dashboards to be included in this quickstart +dashboards: + - apdex-optimizer + +# Documentation references +documentation: + - name: Apdex + url: https://docs.newrelic.com/docs/apm/new-relic-apm/apdex/apdex-measure-user-satisfaction/#change-apdex-settings + description: Apdex is an industry standard to measure users' satisfaction with the response time of web applications and services. + +# Content / Design +icon: logo.svg +website: https://www.newrelic.com + +dataSourceIds: + - apdex-optimizer diff --git a/quickstarts/apdex-optimizer/logo.svg b/quickstarts/apdex-optimizer/logo.svg new file mode 100644 index 0000000000..ea60419c6b --- /dev/null +++ b/quickstarts/apdex-optimizer/logo.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + +