Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apitally/apitally-js
Simple API monitoring & analytics for Node.js web applications
https://github.com/apitally/apitally-js
api api-analytics api-monitoring api-observability express expressjs fastify fastify-plugin koa monitoring nestjs nodejs rest-api
Last synced: 8 days ago
JSON representation
Simple API monitoring & analytics for Node.js web applications
- Host: GitHub
- URL: https://github.com/apitally/apitally-js
- Owner: apitally
- License: mit
- Created: 2023-11-16T12:53:08.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T09:44:46.000Z (17 days ago)
- Last Synced: 2024-10-29T11:49:21.527Z (17 days ago)
- Topics: api, api-analytics, api-monitoring, api-observability, express, expressjs, fastify, fastify-plugin, koa, monitoring, nestjs, nodejs, rest-api
- Language: TypeScript
- Homepage: https://apitally.io
- Size: 845 KB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-express - apitally - Client library for [Apitally](https://apitally.io/express), a simple API monitoring & analytics tool with alerting for Express. (Monitoring)
README
API monitoring made easy.
Apitally is a simple API monitoring & analytics tool with a focus on data privacy.
It is super easy to use for API projects in Node.js or Python and never collects sensitive data.🔗 apitally.io
![Apitally screenshots](https://assets.apitally.io/screenshots/overview.png)
---
# Apitally client library for Node.js
[![Tests](https://github.com/apitally/apitally-js/actions/workflows/tests.yaml/badge.svg?event=push)](https://github.com/apitally/apitally-js/actions)
[![Codecov](https://codecov.io/gh/apitally/apitally-js/graph/badge.svg?token=j5jqlrL7Pd)](https://codecov.io/gh/apitally/apitally-js)
[![npm](https://img.shields.io/npm/v/apitally?logo=npm&color=%23cb0000)](https://www.npmjs.com/package/apitally)This client library for Apitally currently supports the following Node.js web
frameworks:- [Express](https://docs.apitally.io/frameworks/express)
- [NestJS](https://docs.apitally.io/frameworks/nestjs) (with Express)
- [Fastify](https://docs.apitally.io/frameworks/fastify)
- [Koa](https://docs.apitally.io/frameworks/koa)
- [Hono](https://docs.apitally.io/frameworks/hono)Learn more about Apitally on our 🌎 [website](https://apitally.io) or check out
the 📚 [documentation](https://docs.apitally.io).## Key features
- Middleware/plugins for different frameworks to capture metadata about API
endpoints, requests and responses (no sensitive data is captured)
- Non-blocking client that aggregates and sends captured data to Apitally in regular intervals## Installation
You can install this library in your project using `npm` or `yarn`:
```bash
npm install apitally
```or
```bash
yarn add apitally
```## Usage
Our comprehensive [setup guides](https://docs.apitally.io/quickstart) include
all the details you need to get started.### Express
This is an example of how to use the Apitally middleware with an Express
application. For further instructions, see our
[setup guide for Express](https://docs.apitally.io/frameworks/express).```javascript
const express = require("express");
const { useApitally } = require("apitally/express");const app = express();
app.use(express.json());useApitally(app, {
clientId: "your-client-id",
env: "dev", // or "prod" etc.
});
```### NestJS
This is an example of how to use the Apitally middleware with a NestJS
application. For further instructions, see our
[setup guide for NestJS](https://docs.apitally.io/frameworks/nestjs)._Note_: Currently only NestJS applications that use Express as the underlying
HTTP server are supported (the default).```javascript
const { NestFactory } = require("@nestjs/core");
const { useApitally } = require("apitally/nestjs");
const { AppModule } = require("./app.module");const app = await NestFactory.create(AppModule);
useApitally(app, {
clientId: "your-client-id",
env: "dev", // or "prod" etc.
});
```### Fastify
This is an example of how to register the Apitally plugin with a Fastify
application. For further instructions, see our
[setup guide for Fastify](https://docs.apitally.io/frameworks/fastify).The Apitally plugin requires the
[`fastify-plugin`](https://www.npmjs.com/package/fastify-plugin) package to be
installed.```bash
npm install fastify-plugin
``````javascript
const fastify = require("fastify")({ logger: true });
const { apitallyPlugin } = require("apitally/fastify");fastify.register(apitallyPlugin, {
clientId: "your-client-id",
env: "dev", // or "prod" etc.
});// Wrap your routes in a plugin, so Apitally can detect them
fastify.register((instance, opts, done) => {
instance.get("/", (request, reply) => {
reply.send("hello");
});
done();
});
```_Note:_ If your project uses ES modules you can use `await fastify.register(...)` and don't need to wrap your routes in a plugin. See the [Fastify V4 migration guide](https://fastify.dev/docs/latest/Guides/Migration-Guide-V4/#synchronous-route-definitions-2954) for more details.
### Koa
This is an example of how to use the Apitally middleware with a Koa application.
For further instructions, see our
[setup guide for Koa](https://docs.apitally.io/frameworks/koa).```javascript
const Koa = require("koa");
const { useApitally } = require("apitally/koa");const app = new Koa();
useApitally(app, {
clientId: "your-client-id",
env: "dev", // or "prod" etc.
});
```### Hono
This is an example of how to use the Apitally middleware with a Hono application.
For further instructions, see our
[setup guide for Hono](https://docs.apitally.io/frameworks/hono).```javascript
import { Hono } from "hono";
import { useApitally } from "apitally/hono";const app = new Hono();
useApitally(app, {
clientId: "your-client-id",
env: "dev", // or "prod" etc.
});
```## Getting help
If you need help please [create a new discussion](https://github.com/orgs/apitally/discussions/categories/q-a) on GitHub
or [join our Slack workspace](https://join.slack.com/t/apitally-community/shared_invite/zt-2b3xxqhdu-9RMq2HyZbR79wtzNLoGHrg).## License
This library is licensed under the terms of the MIT license.