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

@seneca/flame

v1.0.1

Published

Handle incoming messages within other frameworks.

Downloads

698

Readme

Seneca Gateway

Seneca Gateway is a plugin for Seneca

Handle incoming messages within other frameworks.

npm version build Coverage Status Known Vulnerabilities DeepScan grade Maintainability

@seneca/gateway

| Voxgig | This open source module is sponsored and supported by Voxgig. | | ---------------------------------------------------- | --------------------------------------------------------------------------------------- |

Introduction

seneca-flame is a seneca plugin created to be a debug tool for seneca. When using seneca-flame, the plugin starts to capture metadata that is generated by seneca, and starts to aggregate it in a flame. seneca-flame has a deep and useful integration with seneca-debug

Install

npm install @seneca/flame

Usage

First of all, you need to install the plugin and then 'boot' it in the seneca instance: seneca.use('flame', { capture: true }) From now on, seneca-flame will start to capture and aggregate data automatically. seneca-flame also provides some useful commands:

  • sys:flame,capture:boolean Will start/stop capturing data
  • sys:flame,cmd:get,cached:boolean Will return the current flame data. The cached option can be used to compare if the previous call has the same value of the current one, if that's true, the command will reply with { data: false }
  • sys:flame,cmd:snapshot,format:string This command will generate a file with the current flame data, the format parameter can be html or json

More Examples

Debug flow

When debugging something, you can quick add seneca-flame into your plugins, start capturing data with sys:flame,capture:true, proceed the actions you need to debug, then you can pause the capture with sys:flame,capture:false, and also generate an .html file to visualize the flamegraph with sys:flame,cmd:snapshot,format:string

Motivation

The motivation behind this is to improve our seneca debug tools and have a tool where we can collect trace data in an structured way.

Support

API

Data structure and algorithm

The flame data structure is created using a tree algorithm, where the first (root) layer is inserted by default, the second layer of trees are always the name of the plugins, and the third and subsequential layers are the children actions of each of those plugins. Each node of the tree have those values:

  • name: The name of the action or plugin
  • value: The mean of time an action took
  • children: A list of children to this plugin/action
  • _inner: A set of metadata's of the node.

Contributing

Background