immobiliare / dats Goto Github PK
View Code? Open in Web Editor NEWπ Minimalistic zero-dependencies statsd client for Node.js
License: MIT License
π Minimalistic zero-dependencies statsd client for Node.js
License: MIT License
The DNS cache test uses timers, and sometimes it fails. We can refactor it using fake timers.
We can add snyk in this project.
After installing and running in NextJS i get the following error on startup
../../node_modules/@immobiliarelabs/dats/dist/dns-cache.js:3:0
Module not found: Can't resolve 'dns'
Import trace for requested module:
../../node_modules/@immobiliarelabs/dats/dist/socket.js
../../node_modules/@immobiliarelabs/dats/dist/index.js
The CI should support ipv6, we can now avoid skipping the ipv6 tests in the CI.
We can create the Dats mock, mocking the Socket.
We can refactor the getSupportedTypes
method; initially, I make it return the structure without manipulating it for performance reasons. But now, I think it is better to copy the data structure even if there are performance degradations. Because if you modify the returned output, you can break the code.
WDYT! @simonecorsi @dnlup
Waiting for semantic-release update to follow-up: semantic-release/semantic-release#2330
DNS resolution going in loop under VPN when ns does not exist, we have to change test that uses not existing ns.
The sampling
parameter is used only for timing
and counter
metrics, but it is listed also in the other metrics. I think we should change that and remove it.
When using local hostnames (like host.local) the dot is used as a separator. I think we should sanitize the string in this case.
The tests in the MacOS environment fail, ref #11
I've integrated semantic-release for reference: immobiliare/fastify-metrics#21
It can be cool to integrate the AbortController in the TCP environment. See options. We can try a POC in a PR.
Use example:
const controller = new AbortController();
const signal = controller.signal;
new Dats({..., signal })
.
.
.
process.on('exit', () => {
controller.abort()
});
Eslint and prettier change continuously the code, in particular they change this line of code:
const cachable = (ttl, hostname) =>
buildLookupFunction(ttl, hostname, (mock as unknown) as typeof lookup);
For prettier this code it is fine, but Eslint removes the parentesis:
const cachable = (ttl, hostname) =>
buildLookupFunction(ttl, hostname, mock as unknown as typeof lookup);
We don't check that the metrics should be an integer; we can do it by calling onError if not integer.
main
branch failed. π¨I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can resolve this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
An npm token must be created and set in the NPM_TOKEN
environment variable on your CI environment.
Please make sure to create an npm token and to set it in the NPM_TOKEN
environment variable on your CI environment. The token must allow to publish to the registry https://registry.npmjs.org/
.
Good luck with your project β¨
Your semantic-release bot π¦π
We should call and await the connect
method of Dats to allow the working of TCP.
Hi,
I vitit https://github.com/statsd/statsd and read the read.me of https://github.com/immobiliare/dats.
But I'm curious
"why I need this ?"
"For what purpose ?"
I talk pragmatism .
The idea is cool but have NO idea what is the stats data do.
I download package for utility no for ideas.
Just i expected to see in readme a picture like a classic dashboard, or just number, Pie chart or whatever but see what dats generate...
("What You See Is What You Get":WYSIWYG )
It will more appreciate because I have no idea what this tool do ...
do some "stats" but it is not enought precise to made decision in my personnal project and even more if I practice it.
I will appreciate 2 or 4 pictures rather than a "blabla" saying what is the idea no what the package do precisely ...
Implementing disconnect handler to allow graceful shutdown of application that uses this package in TCP mode
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.