## Description Capturing telemetry of widget renders and only enabling the profiled build for community users. This should cause a minor performance overhead and in case performance degrades too much we can disable the widget profiled telemetry by disabling the new relic flag(set this to false `APPSMITH_NEW_RELIC_ACCOUNT_ENABLE`). Fixes #35184 > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Sanity" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10111247316> > Commit: 38310d7341e7a2acb30491e478edaedbbc16a739 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10111247316&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Fri, 26 Jul 2024 12:55:43 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Introduced `WidgetProfiler` component to track rendering performance metrics. - Added a new function for enhanced telemetry span management. - **Improvements** - Updated build script to allow for profiled builds based on environment variables, improving performance analysis. - Implemented GZIP compression for OTLP trace data transmission, optimizing bandwidth usage. - **Refactor** - Removed `Sentry.withProfiler` for widget profiling, simplifying performance monitoring. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
30 lines
823 B
Bash
Executable File
30 lines
823 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
GIT_SHA=$(eval git rev-parse HEAD)
|
|
echo $GIT_SHA
|
|
echo "Sentry Auth Token: $SENTRY_AUTH_TOKEN"
|
|
|
|
if [ "$REACT_APP_AIRGAP_ENABLED" == "true" ]; then
|
|
echo "Building for airgapped Appsmith instances"
|
|
node download-assets.js;
|
|
else
|
|
echo "Building for non-airgapped Appsmith instances"
|
|
fi
|
|
|
|
# build cra app
|
|
export REACT_APP_SENTRY_RELEASE=$GIT_SHA
|
|
export REACT_APP_CLIENT_LOG_LEVEL=ERROR
|
|
# Disable CRA built-in ESLint checks since we have our own config and a separate step for this
|
|
export DISABLE_ESLINT_PLUGIN=true
|
|
if [ "$APPSMITH_CLOUD_HOSTING" == "true" ]; then
|
|
echo "Building profiled build"
|
|
craco --max-old-space-size=7168 build --profile --config craco.build.config.js --verbose
|
|
else
|
|
craco --max-old-space-size=7168 build --config craco.build.config.js
|
|
fi
|
|
|
|
|
|
echo "build finished"
|