Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
@amplication/plugin-observability-opentelemetry
Advanced tools
This plugin is created to add integrate opentelemetry to the amplication app
This plugin helps in integrating Opentelemetry into your app generated by Amplication and sends the telemetry data to the Jaeger agent.
Provides a way to integrate opentelemetry into your app generated by Amplication by adding the required dependencies and configuration files. OpenTelemetry is a collection of tools, APIs, and SDKs used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior.
This plugin requires the following settings during plugin configuration:
serviceName
- The name of the service that will be used in the configuration file. It is optional and if not provided, the name of the app will be used.
OTEL_COLLECTOR_PORT_GRPC
- The port of the collector that will be used in the configuration file. Default value is 4317
.
OTEL_COLLECTOR_PORT_HTTP
- The port of the collector for http that will be used in the configuration file. Default value is 4316
.
JAEGER_AGENT_PORT
- The port of the jaeger agent that will be used in the configuration file. This exposes the jaeger agent UI to the port specified. Default value is 16686
{
"serviceName": "my-service",
"OTEL_COLLECTOR_PORT_GRPC": "4317",
"OTEL_COLLECTOR_PORT_HTTP": "4316",
"JAEGER_AGENT_PORT": "16686"
}
It can be used by adding the plugin in the plugins
page of the app settings. The plugin can be added by providing the settings as shown in the Configuration section.
Results in creating a otel-config.yml
file in the root of the app. This file is used to configure the opentelemetry sdk. The file is created by using the template file and replacing the placeholders with the values provided in the plugin configuration.
The plugin also adds the required dependencies in the package.json
file and installs them.
This also creates the required environment variables in the .env
file and a docker compose for setting up the jaeger agent and OpenTelemetry collector.
Follow the steps below to use the created app. Make sure to have the prerequisites installed :- Docker and Docker Compose.
npm install
$ npm run prisma:generate
$ npm run docker:dev
# initialize the database
$ npm run db:init
# start the server component
$ npm run start
# start the server component as a docker container
$ npm run compose:up
build
Running npm run build
will bundle your plugin with Webpack for production.
dev
Running npm run dev
will watch your plugin's source code and automatically bundle it with every change.
lint
Running npm run lint
will lint your plugin's source code. If run with npm run lint:fix
it will also fix the linting errors.
FAQs
This plugin is created to add integrate opentelemetry to the amplication app
We found that @amplication/plugin-observability-opentelemetry demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.