Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
  src
  LICENSE
  package.json
  README.md
Size: Mime:
  README.md

@supertenant/supermeter

Add this package as a dependency to add SuperTenant's monitoring and tenant management into your application.

node -r @supertenant/supermeter <your_app>

Supported Modules

A simplified coverage matrix:

Module Min Version
mysql 2.1.0
mysql2 (including mysql2/promise) 1.0.0
mongodb 3.5
redis 2.0.0

Below is a more detailed list of supported modules and versions.

MySQL

The MySQL tests are designed to handle the environment setup, which includes starting miniSputnik and MySQL in Docker containers, running the instrumented inner tests as separate processes, and querying Sputnik to verify that operations are tracked. The tests cover basic functionality, single query, and parallel query scenarios. For more details, see mysql.

MongoDB

The MongoDB tests are structured similarly to the MySQL tests, with outer tests handling the environment setup and inner tests performing MongoDB operations. The tests are designed to be run with the command

yarn workspace @supertenant/supermeter test

For more details, see mongodb.

Redis

The Redis tests are designed to handle the environment setup, which includes starting miniSputnik and Redis in Docker containers, running the instrumented inner tests as separate processes, and querying Sputnik to verify that operations are tracked. The tests cover basic functionality, single query, and parallel query scenarios. For more details, see redis.

Test All Versions

Libraries under external_tools/ focus on testing all versions. It is comprised of forks of similar projects in which I added support for yarn (instead npm that was supported). In order to test all versions, simply run the following command:

cd packages/supermeter/test/
npx tav

Developemer Notes

Ths external tools were developed on git forks at:

and were copied as-is w/o the .git folder.