Maybe a bit early, but given my day job instrumenting all the things, was curious how things would look in :metal: land.
Rack instrumentation that we added recently at New Relic had the hardest time during startup, so I'm happy to see life looks much better here. This PR smooths over two points that could make my life even easier during startup:
The primary case around the create_server change is the possibility of require 'the_metal' happening somewhat distant in load time from the actual specific server implementation. Maybe that's not likely, but if so it's really nice for instrumentors to be able to hook in as soon as any of the machinery is around.
start_app change was just an easy way to get a hook into that point in the lifecycle. Would happily rearrange, but I would :heart: :revolving_hearts: :purple_heart: being able to have that safely exposed where I could get in on it.
It seems like if we could get in at this point in time, getting instrumentation on all the other parts (events, filters, the app itself) is just a matter of dealing properly with each supported form of app that can get passed in.
Maybe a bit early, but given my day job instrumenting all the things, was curious how things would look in :metal: land.
Rack instrumentation that we added recently at New Relic had the hardest time during startup, so I'm happy to see life looks much better here. This PR smooths over two points that could make my life even easier during startup:
create_server
change is the possibility ofrequire 'the_metal'
happening somewhat distant in load time from the actual specific server implementation. Maybe that's not likely, but if so it's really nice for instrumentors to be able to hook in as soon as any of the machinery is around.start_app
change was just an easy way to get a hook into that point in the lifecycle. Would happily rearrange, but I would :heart: :revolving_hearts: :purple_heart: being able to have that safely exposed where I could get in on it.It seems like if we could get in at this point in time, getting instrumentation on all the other parts (events, filters, the app itself) is just a matter of dealing properly with each supported form of app that can get passed in.