Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge release into main // 2024-09-11 #2552

Merged
merged 98 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
0311ab2
WIP: Creating and validating artifact
Aug 29, 2024
68085ff
WIP: Cleanup
Aug 29, 2024
d1a7f25
feat: Update schema validation
Sep 3, 2024
bcc7ab4
fix: Properly get all datasource definitions
Sep 3, 2024
1e6e183
feat: First pass at error output
Sep 3, 2024
1de35c9
feat: Add community dataSourceIds
Sep 3, 2024
0cabd35
refactor: Rename datasource to dataSource
Sep 3, 2024
0b0ad40
feat: Additional error output formatting
Sep 3, 2024
1be1bd8
WIP: Creating and validating artifact
Aug 29, 2024
c5107b6
WIP: Cleanup
Aug 29, 2024
556b9cd
fix: Properly get all datasource definitions
Sep 3, 2024
76d9594
feat: First pass at error output
Sep 3, 2024
e9ef407
feat: Add community dataSourceIds
Sep 3, 2024
b1c5eb6
refactor: Rename datasource to dataSource
Sep 3, 2024
3a4ddf7
feat: Additional error output formatting
Sep 3, 2024
82ccc25
chore: Resolving merge conflicts
zstix Sep 5, 2024
5343088
refactor: Broke up large script to smaller, composable, functions
zstix Sep 5, 2024
5338b6b
feat: Fix configs for validation
mickeyryan42 Sep 5, 2024
ec3ceb6
feat: Fix config issues for validation
mickeyryan42 Sep 5, 2024
3e48902
feat: Remove extra filter
Sep 5, 2024
0ee8e1f
refactor: Minor cleanup with error parsing
Sep 5, 2024
0c3e0e6
fix: Correctly fetch all alerts
Sep 6, 2024
84cfe43
chore: Move comment to the right place
Sep 6, 2024
9fbe659
fix: Correct mongo operator
Sep 6, 2024
a54677a
feat: Update alerts schema
Sep 6, 2024
912a627
chore: Remove debug log
Sep 6, 2024
162893d
Merge branch 'campfire/NR-268461-config-fixes' of https://github.com/…
mickeyryan42 Sep 6, 2024
6c44419
refactor: Add a type guard function to remove the need for `as`
zstix Sep 6, 2024
8bb1b46
chore: Reverted flexibility with install directives
zstix Sep 6, 2024
ebb74da
chore: Show a success message when script encounters no errors
zstix Sep 6, 2024
533e844
refactor: Pull in lodash/get to make access to nested object easier
zstix Sep 6, 2024
9c39df9
chore: Remove unecessary whitespace
zstix Sep 6, 2024
2669874
chore: Slightly less permissive types
zstix Sep 6, 2024
ba9fc77
refactor: Separated error formatting from printing
zstix Sep 6, 2024
c10fc26
test: Ensure logic is correct for building and validating artifact
zstix Sep 6, 2024
1823bef
Merge branch 'campfire/NR-268461-build-validate-artifact' of https://…
mickeyryan42 Sep 9, 2024
a8d98bf
test: Add alert and dashboard to tests
mickeyryan42 Sep 9, 2024
c616b1d
Merge pull request #2540 from newrelic/campfire/NR-268461-build-valid…
mickeyryan42 Sep 9, 2024
bca74e7
feat: Create reusable validation workflow
mickeyryan42 Sep 9, 2024
4e014be
WIP: Initial workflow
Sep 9, 2024
bdb3959
chore: Remove inputs from workflow
mickeyryan42 Sep 9, 2024
37488f5
chore: Replace workflow_call trigger
mickeyryan42 Sep 9, 2024
d6507d4
feat: Finish artifact creation workflow
mickeyryan42 Sep 9, 2024
91604d3
fix: Kebab case for script name
Sep 10, 2024
097c49e
feat: Update trigger for validation workflow
Sep 10, 2024
3f32dad
feat: Add trigger for main pushes
Sep 10, 2024
a91572f
feat: Remove workflow_call trigger
Sep 10, 2024
75df800
Merge pull request #2548 from newrelic/campfire/NR-273120-pr-workflow
Sep 10, 2024
173ca5d
refactor: Move setup workspace into workflow
Sep 10, 2024
6c801be
feat: Update artifact script to save to filesystem
Sep 10, 2024
22540ce
feat: Copy the schema to the build output
Sep 10, 2024
87f5913
feat: Add ability to output artifact from workflow when triggered on …
Sep 10, 2024
7e69b7e
fix: Use single quotes in expression
Sep 10, 2024
99be0d1
fix: Move checkout back into action
Sep 10, 2024
6b93d17
refactor: Restructure workflow
Sep 10, 2024
6b9d076
feat: Upload artifact (testing)
Sep 10, 2024
1792779
chore: Add debug output
Sep 10, 2024
517479c
fix: Correct upload path
Sep 10, 2024
d11babb
feat: Create release (testing)
Sep 10, 2024
c96c11c
feat: Remove upload artifact (testing)
Sep 10, 2024
28e4301
feat: Add tag release workflow
Sep 10, 2024
8e9a1e1
feat: Remove debugging output
Sep 10, 2024
43e4b7d
feat: Add release job to PR workflow
Sep 10, 2024
1211e1e
feat: Remove if for testing purposes
Sep 10, 2024
7160e4e
fix: Add github token to release tag action
Sep 10, 2024
7833f01
feat: Run workflow on tag creation
Sep 10, 2024
8f7be76
feat: Rework release workflow
Sep 10, 2024
deb7761
fix: Checkout repo in release job
Sep 10, 2024
fee517d
fix: Correct path to shared workflow
Sep 10, 2024
4fac6ec
feat: Fix syntax for reusable workflows
Sep 10, 2024
e94944c
fix: Pass new tag to release
Sep 10, 2024
1842a16
feat: Slight refactor so tags are only created on branch pushes
Sep 10, 2024
ea73b38
feat: Swap out version bump action
Sep 11, 2024
629679d
feat: Change branch trigger filter for testing
Sep 11, 2024
ce9ae7f
feat: Checkout repo before bumping version
Sep 11, 2024
f4ddc09
feat: Swap out version action again
Sep 11, 2024
ed94e03
feat: Add attestation
Sep 11, 2024
a28ed39
feat: Fix permissions
Sep 11, 2024
594433b
refactor: Clean up and rename some things
Sep 11, 2024
4cbbd1d
refactor: Rename job step
Sep 11, 2024
5683e90
feat: Check quickstart IDs in PR from release to main
mickeyryan42 Sep 11, 2024
bde0e28
feat: Exit 1 if artifact output fails
Sep 11, 2024
949517f
feat: Have release run on main (undoes testing trigger)
Sep 11, 2024
08560c7
feat: Change input for build-validate-artifact
Sep 11, 2024
b8df1d8
feat: Remove workflow_call trigger
Sep 11, 2024
77df649
Merge pull request #2549 from newrelic/andrew/NR-268466-main-validation
Sep 11, 2024
fd4f90e
Adds in data source ids to schema under definition
josephgregoryii Sep 11, 2024
e25f5c1
test breaking validaiton
josephgregoryii Sep 11, 2024
f0cb4d2
Test schema update
josephgregoryii Sep 11, 2024
d748cb7
Update schema to reference data source ids
josephgregoryii Sep 11, 2024
27ef019
remove invalid data source
josephgregoryii Sep 11, 2024
b413c6f
Merge pull request #2553 from newrelic/campfire/schema/add-data-sourc…
josephgregoryii Sep 11, 2024
f3f13a9
Merge pull request #2551 from newrelic/feature/validation-workflow
josephgregoryii Sep 11, 2024
1514d4a
Merge branch 'release' of https://github.com/newrelic/newrelic-quicks…
mickeyryan42 Sep 12, 2024
01b5163
fix: Add cd utils to command
mickeyryan42 Sep 12, 2024
7214731
chore: Add package.json script
mickeyryan42 Sep 12, 2024
6c40d8f
chore: Update schema to not require id
mickeyryan42 Sep 12, 2024
38dd155
Merge pull request #2550 from newrelic/mickey/NR-305852-quickstart-ids
mickeyryan42 Sep 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/actions/build-validate-artifact/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Build and Validate Artifact
description: Reusable action to build and validate the component artifact
inputs:
output-artifact:
description: 'If provided, the action will output the artifact to the build directory'
required: false

runs:
using: composite
steps:
- name: Add data source ids to schema
shell: bash
run: |
cd utils && yarn add-datasource-ids

- name: Build & Validate Artifact
shell: bash
id: build-validate-artifact
run: |
cd utils && yarn build-validate-quickstart-artifact ${{ inputs.output-artifact && '--output-artifact' || '' }}

- name: Debugging output
shell: bash
if: ${{ runner.debug }}
run: ls -la utils/build
16 changes: 16 additions & 0 deletions .github/actions/bump-version-tag/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Bump version tag
description: Bumps the version tag based on the latest version
outputs:
tag:
description: The new tag prefixed with `v`
value: ${{ steps.versions.outputs.v-version }}
runs:
using: composite
steps:
- name: Get next version
uses: reecetech/version-increment@a5d65984a6c6e8bbc30ece69d53d96e40736f24c
id: versions
with:
scheme: semver
increment: minor
use_api: true
30 changes: 30 additions & 0 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Validate PR Artifact

on:
pull_request:

jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
with:
ref: ${{ github.sha }}
- name: Setup workspace
uses: "./.github/actions/bootstrap"
- name: Validate PR Artifact
uses: "./.github/actions/build-validate-artifact"
validate-quickstart-ids:
runs-on: ubuntu-latest
if: ${{ github.base_ref == 'main' && github.head_ref == 'release' }}
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
with:
ref: ${{ github.sha }}
- name: Setup workspace
uses: "./.github/actions/bootstrap"
- name: Validate Quickstart IDs
run: |
cd utils && yarn validate-quickstart-ids
50 changes: 50 additions & 0 deletions .github/workflows/release-artifact.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This workflow runs when a tag is created with the `v` prefix or a push
# to main occurs. It runs our validation script, outputs the artifact,
# creates a new tag, Github release, and uploads/associates the artifact with the release.

name: Release artifact
on:
push:
branches:
- main
tags:
- 'v*'

# Permissions for attestation
permissions:
id-token: write
contents: write
attestations: write

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
with:
ref: ${{ github.ref }}
- name: Setup workspace
uses: "./.github/actions/bootstrap"
- name: Validate and generate artifact
uses: "./.github/actions/build-validate-artifact"
with:
output-artifact: 'true'
- name: Attest artifact
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c
with:
subject-path: utils/build/*
- name: Create new release tag
# Only run if this is a branch push (we'll need a new tag)
if: ${{ startsWith(github.ref, 'refs/heads') }}
id: version
uses: "./.github/actions/bump-version-tag"
- name: Create release
uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191
with:
files: utils/build/*
fail_on_unmatched_files: true
make_latest: true
# If we have a tag output from the previous step, use that as the tag
# name, otherwise use the current ref which should be the tag.
tag_name: ${{ steps.version.outputs.tag || github.ref }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
utils/node_modules
utils/newrelic_agent.log
utils/build

# IDE files
.DS_Store
Expand All @@ -17,4 +18,4 @@ snapshots/
yarn.lock
.yarn-integrity
yarn-error.log
utils/yarn-error.log
utils/yarn-error.log
1 change: 0 additions & 1 deletion _template/quickstarts/example-quickstart/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,3 @@ documentation:

# Content / Design
icon: logo.svg
website: https://www.newrelic.com
4 changes: 2 additions & 2 deletions alert-policies/mongodb/EmptyDatabase.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ valueFunction: SINGLE_VALUE
terms:
- priority: CRITICAL
# Operator used to compare against the threshold.
operator: UNDER
operator: BELOW
# Value that triggers a violation
threshold: 1
# Time in seconds; 120 - 3600
Expand All @@ -23,4 +23,4 @@ terms:

# Duration after which a violation automatically closes
# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])
violationTimeLimitSeconds: 86400
violationTimeLimitSeconds: 86400
16 changes: 4 additions & 12 deletions data-sources/dbt-cloud/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
id: dbt-cloud
displayName: dbt Cloud
id: dbt-cloud
displayName: dbt Cloud
description: |
Integrates dbt Cloud with New Relic using an Airflow DAG. Our dashboard and alerts help you find issues with dbt Cloud runs and resources.
icon: logo.png
Expand All @@ -8,17 +8,9 @@ install:
nerdlet:
nerdletId: marketplace.install-data-source
nerdletState:
dataSourceId: dbt-cloud
frameworkConfigId: dbt-cloud
dataSourceId: dbt-cloud
frameworkConfigId: dbt-cloud
requiresAccount: false
keywords:
- dbt cloud
- dbt

documentation:
- name: Github Repository
description: |
Github repository with the Airflow DAG and related documentation.
url: >-
https://github.com/newrelic-experimental/newrelic-dbt-cloud-integration/

3 changes: 1 addition & 2 deletions quickstarts/ai21-labs/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ description: |
summary: |
Improve the visibility of your AI21 Labs usage with New Relic AI21 Labs quickstart.
icon: logo.png
level:
- New Relic
level: New Relic
authors:
- New Relic
title: AI21 Labs
Expand Down
2 changes: 0 additions & 2 deletions quickstarts/ajax/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
id: ab83f4c2-4e75-4767-8dea-fd6ab940a2dd
displayName: Ajax Requests
slug: ajax-example
title: Ajax Requests

Expand Down Expand Up @@ -30,7 +29,6 @@ description: |
4. **Root cause analysis:** Distributed tracing can help you identify the root cause of issues in your microsystem architecture. By tracing the flow of requests, you can identify the root cause of a problem and take steps to prevent similar issues from occurring in the future.

icon: logo.svg

documentation:
- name: Browser
description: >-
Expand Down
6 changes: 2 additions & 4 deletions quickstarts/amazon-bedrock/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@ description: |
summary: |
Improve the visibility of your Amazon Bedrock usage with New Relic Amazon Bedrock quickstart.
icon: logo.png
level:
- New Relic
level: New Relic
authors:
- New Relic
- Jyothi Surampudi
title: Amazon Bedrock
documentation:
- name: Amazon Bedrock integration using Python
description: |
Enhance the performance monitoring and instrumentation of your Amazon Bedrock by using the Python agent.
Enhance the performance monitoring and instrumentation of your Amazon Bedrock by using the Python agent.
url: https://docs.newrelic.com/install/python
- name: Amazon Bedrock integration using Node.js
description: |
Expand All @@ -54,4 +53,3 @@ alertPolicies:
- langchain
dashboards:
- langchain

5 changes: 2 additions & 3 deletions quickstarts/anyscale/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@ description: |
summary: |
Improve the visibility of your Anyscale usage with New Relic Anyscale quickstart.
icon: logo.svg
level:
- New Relic
level: New Relic
authors:
- New Relic
title: Anyscale
title: Anyscale
documentation:
- name: Anyscale integration documentation
description: |
Expand Down
2 changes: 1 addition & 1 deletion quickstarts/apache/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ summary: |
Check out New Relic's Apache quickstart and gain a more comprehensive understanding of your servers' performance with customized dashboards including: total requests per second, servers reporting, worker status, and more.
level: New Relic
icon: logo.svg
website: https://httpd.apache.org/

authors:
- New Relic
- Jakub Kotkowiak
Expand Down
19 changes: 9 additions & 10 deletions quickstarts/apdex-optimizer/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,38 +12,38 @@ description: |
## 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
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
Expand All @@ -62,7 +62,7 @@ keywords:
# Reference to dashboards to be included in this quickstart
dashboards:
- apdex-optimizer

# Documentation references
documentation:
- name: Apdex
Expand All @@ -71,7 +71,6 @@ documentation:

# Content / Design
icon: logo.svg
website: https://www.newrelic.com

dataSourceIds:
- apdex-optimizer
21 changes: 9 additions & 12 deletions quickstarts/apm-signals/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,36 @@ title: APM Signals
# Long-form description of the quickstart (required)
description: |
**APM Signals Dashboard**

## 1. Traffic:
- This metric measures the volume of incoming requests to the application. The current throughput, or the number of requests processed per minute, is compared to the previous day's throughput. An increase in throughput suggests a higher demand or traffic on the application compared to the previous day.

## 2. Latency:
- Latency refers to the time it takes for a request to be processed by the application. It's typically measured as the average time taken for requests to receive a response. The current average latency is compared to the previous day's average latency. A slightly lower latency indicates a marginal improvement in the application's responsiveness.

## 3. Errors:
- Error rate represents the percentage of requests that result in errors or failures. A stable error rate indicates that the application is consistently handling requests without a significant increase in failures compared to the previous day.

## 4. Apdex:
- Apdex (Application Performance Index) is a metric that evaluates user satisfaction based on response times. It quantifies users' satisfaction by categorizing response times as satisfactory, tolerable, or frustrating. A high Apdex score, such as 0.96, indicates that the majority of users are experiencing satisfactory response times.

## 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:
- Investigating increased traffic and ensuring infrastructure can handle the load.
- Looking into latency spikes to determine specific events or underlying issues.
- Monitoring error rates for unusual increases indicating application problems.


# Displayed in search results and recommendations. Summarizes a quickstarts functionality.
summary: |
Comprehensive APM dashboard providing actionable insights, including Throughout, Latency, Error Rate & Apdex.
Comprehensive APM dashboard providing actionable insights, including Throughout, Latency, Error Rate & Apdex.

# Support level: New Relic | Verified | Community (required)
level: New Relic
Expand All @@ -59,17 +58,15 @@ keywords:
# Reference to dashboards to be included in this quickstart
dashboards:
- apm-signals

# Documentation references
documentation:
- name: apm
url: https://docs.newrelic.com/docs/apm/apm-monitoring/get-started/get-started-apm-monitoring/
description: With apm monitoring, modern operations teams get complete observability of complex and hybrid systems, from a datacenter to thousands of Amazon, Google Cloud, or Azure instances.


# Content / Design
icon: logo.svg
website: https://www.newrelic.com

dataSourceIds:
- apm-signals
2 changes: 1 addition & 1 deletion quickstarts/apm-transaction-analysis/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ documentation:
url: https://docs.newrelic.com/docs/apm/transactions/intro-transactions/transactions-new-relic-apm/
description: Transactions in New Relic's APM
icon: logo.svg
website: https://www.newrelic.com

dashboards:
- apm-transaction-analysis
Loading
Loading