Expert-level NodeJS developer needed to add the feature to the open-source library
Budget: $250 – $750 USD
We are looking for a great JavaScript developer to add a feature to the postgres OpenTelemetry JS instrumentations here: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-pg
There's an already written instrumentation for OpenTelemetry JS to emit trace data from the `pg-pool` library, but we need some more span attributes added. This job is to make the changes to the code and the tests on Github, and to get a PR merged into the main Github repository for opentelemetry-js. I am not the owner of this github repo, so you'll have to work with the maintainers to meet their expectations for code quality and test coverage. We marked this job as hourly for this reason.
Specifically, we need span attributes added to `pg-pool` for the connect function to report on the current pool state. pg-pool already describes the current pool state here: https://node-postgres.com/api/pool and we'd like those three size numbers to be emitted on each `pg-pool.connect` span. You'll need to add more attributes here: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts#L242 and complete unit tests for them.
You should be able to:
- setup your development environment for this complicated project
- setup a test environment for emitting opentelemetry tracing data
- edit the code for the pg-pool instrumentation
- write tests and get them running correctly
- submit a PR to the upstream github repo
- work with the maintainers to get the PR merged
This project involves open source work on Github, which means you'll need to be familiar with the OSS development workflow and address any feedback from the maintainers of the project to get your code merged. The project will only be marked as completed once a PR is merged or the maintainer has rejected the idea fully. We're marking this project as hourly so you get paid for this time.
Please read the details carefully and do not hesitate to respond if you are sure you can work. We consider maintaining long-term relationships with the right developers at all times.
There's an already written instrumentation for OpenTelemetry JS to emit trace data from the `pg-pool` library, but we need some more span attributes added. This job is to make the changes to the code and the tests on Github, and to get a PR merged into the main Github repository for opentelemetry-js. I am not the owner of this github repo, so you'll have to work with the maintainers to meet their expectations for code quality and test coverage. We marked this job as hourly for this reason.
Specifically, we need span attributes added to `pg-pool` for the connect function to report on the current pool state. pg-pool already describes the current pool state here: https://node-postgres.com/api/pool and we'd like those three size numbers to be emitted on each `pg-pool.connect` span. You'll need to add more attributes here: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts#L242 and complete unit tests for them.
You should be able to:
- setup your development environment for this complicated project
- setup a test environment for emitting opentelemetry tracing data
- edit the code for the pg-pool instrumentation
- write tests and get them running correctly
- submit a PR to the upstream github repo
- work with the maintainers to get the PR merged
This project involves open source work on Github, which means you'll need to be familiar with the OSS development workflow and address any feedback from the maintainers of the project to get your code merged. The project will only be marked as completed once a PR is merged or the maintainer has rejected the idea fully. We're marking this project as hourly so you get paid for this time.
Please read the details carefully and do not hesitate to respond if you are sure you can work. We consider maintaining long-term relationships with the right developers at all times.