npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

barad-dur

v1.1.35

Published

**Barad-dur** is a tool designed for NestJS projects that provides a comprehensive log of queries in the TypeORM ORM.

Downloads

1,489

Readme

Barad-dur

Barad-dur is a tool designed for NestJS projects that provides a comprehensive log of queries in the TypeORM ORM.

Features

  • Track which specific APIs and queries are called by a user and in which functions they are executed.
  • Store the average speed of the queries.
  • Track the number of query executions to detect queries that are stuck in loops.
  • Store the average speed of APIs.
  • Track the number of API executions to isolate and scale specific microservices.

Installation

npm i barad-dur

Configuration

To configure Barad-dur, you need to integrate it into your NestJS project as shown below:

@Module({
  imports: [
    ...,
    BaradDurModule.register({
      url: 'redis://YOUR_REDIS_IP',  // redis_url
      password: 'YOUR_REDIS_PASSWORD',   // redis_password
      tracking: {
        socketPort: 9191,
        fetchKeyFromToken: string | (req:express.Request) => string, // 'YOUR_CLAIM_IN_TOKEN'
      }
    }),
    ...
   ],
   ...
})
export class AppModule { }

Redis Dependency

This tool requires Redis to track query timings. The Redis connection is configured using the provided url and password values.

Tracking

Tracking also requires a socket connection. A client listening on the other end will receive the tracking data for the user.

Log Viewer

To display the logs, you'll need a separate application that receives the logs and transforms them into a UI for visualization. You can get such a program from the following repository:

https://gitlab.com/bakhshabadi.javad/analyse-backend

Images

Tracking user Tracking user Api duration Api duration Api counter Api counter Query duration Query duration Query duration Query duration

Simply set up the environment for this project by pointing it to your own project's address and use the same port that was set in the configuration.

Keywords

NestJS, TypeORM, logging, query tracking, Redis, API tracking, microservices, performance monitoring