cartant / rxjs-spy

A debugging library for RxJS
https://cartant.github.io/rxjs-spy/
MIT License
702 stars 22 forks source link

[question] What's the overhead of having spy.create() in production? #49

Closed anton164 closed 5 years ago

anton164 commented 5 years ago

Trying to decide whether to enable rxjs-spy in production. Ideally we would like to have it there in order to inspect our streams, but it doesn't say much in the docs about how significant the overhead is.

The only code that would run in production is spy.create() and tag() on streams, but as far as I understand rxjs-spy patches Observable.subscribe, so perhaps this isn't very desirable.

Any thoughts on this? :-)

We've tried exposing spy.create in production, but the issue then is that if we create the spy later, we lose out on tagging a lot of streams that have already been created.

cartant commented 5 years ago

It's not mentioned because it's not at all recommended. When it's enabled/created everything runs through it. Everything. tag operators have essentially no overhead - as they are little more than annotations - but you definitely do not want to create a spy in a production environment.

Anyway, rxjs-spy is going to be deprecated soon and with its replacement - the RxJS DevTools I'm working on - you will be able to do what you want in a production environment with no overhead if the DevTools are not installed.

anton164 commented 5 years ago

Alright, thanks for the clarification! 👍

We've just started using rxjs-spy actively to debug and inspect all of our streams and it's super useful. As I've indicated before I'm very curious about the dev tools and I've been checking regularly to see if anything has come out.

If you have a list for early early alpha or anything in between that and release, sign me up :)

tjrobinson commented 5 years ago

RxJS DevTools

Where can I find out more about this? All I can find is an archived repository: https://github.com/cartant/rxjs-spy-devtools

Thanks.

cartant commented 5 years ago

... I'm working on

... in a private repo.

I'll be presenting a talk on the DevTools at RxJS Live - in Las Vegas - in September. Expect more information regarding the tools - and a beta release - to be made available around the time of the talk.

xiaoxiangmoe commented 4 years ago

@cartant When will rxjs-devtools be released?