Skip to content

Dynatrace/github-actions-profiler

Sample app: GitHub Actions Profiler

The GitHub Actions Profiler analyzes data generated by GitHub Actions workflows and provides insights into their performance and efficiency. Through analyzing the workflows, teams can identify bottlenecks and optimize processes to improve build times, reduce errors, and increase efficiency.

This app demonstrates

This sample app demonstrates some key features and concepts of the new Dynatrace App Platform. Please see the corresponding source code files for more documentation in the comments.

How business events can be used to analyze GitHub Actions workflows

This app shows how to import and query the data of GitHub Actions workflows. See the queries in /src/app/charts/hooks/. CollectFromGithubRepositoryWorkflowScript.ts and CreateIngesterWorkflowButton.tsx shows how to generate a workflow via intents to ingest data from a GitHub repository.

How notifications can be triggered by business events

The app offers the possibility to generate a workflow to configure Slack notifications. See CreateNotificationWorkflowButton.tsx for the details.

How to fetch data with Dynatrace Query Language (DQL)

This app performs several DQL queries to find and transform data, which is then redendered as charts. Most queries are performed using a hook useDQLQuery.ts. The queries can be found in /src/app/charts/hooks/.

How to create data visualizations using Strato Design System components

The app uses the Strato components to render a table and some charts. The code can be found in /src/app/charts/.

How to use serverless functions

This app uses serverless functions to import sample data into Grail. See /api/ingest-sample-data.ts for the details.

Learn more

You can find more information on how to use all the features of the new Dynatrace Platform in the Developer Portal.

To learn React, check out the React documentation.

Available Scripts

In the project directory, you can run:

npm run start

Runs the app in the development mode. A new browser window with your running app will be automatically opened.

Edit a component file in src and save it. The page will reload when you make changes. You may also see any errors in the console.

npm run build

Builds the app for production to the dist folder. It correctly bundles your app in production mode and optimizes the build for the best performance.

npm run deploy

Builds the app and deploys it to the specified environment in app.config.ts.

npm run uninstall

Uninstalls the app from the specified environment in app.config.ts.

npm run generate:function

Generates a new serverless function for your app in the api folder.

npm run update

Updates @dynatrace-scoped packages to the latest version and applies automatic migrations.

npm run info

Outputs the CLI and environment information.

npm run help

Outputs help for the dt-app CLI.

npm run prettier

Formats the source code using prettier as configured in .prettierrc.