Glimpse / Home

Project Glimpse: Node Edition - Spend less time debugging and more time developing.
http://node.getglimpse.com
Other
252 stars 9 forks source link

[Hapi] Support roadmap #110

Open atrauzzi opened 7 years ago

atrauzzi commented 7 years ago

Hapi is fairly popular and has really good mindshare. Would be a shame to not be able to use this with it!

avanderhoorn commented 7 years ago

We have been having a discussion around HAPI support here - https://github.com/Glimpse/Home/issues/95. As of release of 0.20.9, we should be working with Hapi now... the only thing that you won't get is middleware insights. Its possible that we can light middleware but we are trying to understand more about what Hapi users would find really useful. Do you have any thoughts of what would be most valuable?

atrauzzi commented 7 years ago

Ah yes, so it does appear to be working, I was making the mistake of not initializing glimpse before my first hapi import. That's one item that I might suggest be improved if possible, I'll open a separate ticket for it.

Specific to hapi though, I'll spend some time with things although I suspect if you run down the feature list of what hapi as a framework offers, there may be more worth surfacing.

atrauzzi commented 7 years ago

As a follow-on, I'll edit my opening comment for this ticket with a list of things I come up with as I encounter them.

jchoi2x commented 7 years ago

Super excited to see Glimpse show love to the node.js community. I can see Glimpse being a super-useful tool during development just like it is in ASP.net. Thank you to the Glimpse team.


avanderhoorn commented 7 years ago

This is great! Thanks @kizzlebot @atrauzzi

jchoi2x commented 7 years ago

I'm really dying to see full hapi.js support w/ @glimpse/glimpse. I think hapi.js's configuration-based approach along with it's plugin-registration system would allow glimpse to display a serious amount of useful information if glimpse can instrument the methods defined on the hapi.js server instance.

I don't know how glimpse works w/ exactly but perhaps the following information can help with progress? Sorry if I seem arrogant, inconsiderate, or impatient regarding this issue. I just see a lot of potential using glimpse w/ hapi.js versus express.js, mostly because hapi.js has a lot more metadata to work with than express.js.

// pkgName.js hapi.js plugin const internals = module.exports = {}; internals.register = (server, options, next) => { ... } internals.register.attributes = { name: 'pkgName', version: '0.0.1', dependencies: ['blipp'] }

// Plugins are "registered" w/ server instance via server.register({ register: require('pkgName'), options: { ... } })


- [ ] Show log data emitted by "logging-events" of `hapi.js` server when request sent to a route.
  - `hapi.js` server instance has a `server.on(evtName, callback)` that can add listeners for logging events
AdriVanHoudt commented 7 years ago

I don't know how Glimpse does tracing but just general info about mysql, redis, ... query timing with query info would be very useful. I guess if you do some patching you could do plugin initialization timings as well. Just in general whatever you expose of express, expose the same thing from hapi. Not sure if there is a list somewhere, I could help map the express stuff to hapi if you want. And ofc the things stated above are 👌