TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Proxino - optimize and monitor your javascript

87 pointsby zaverialmost 14 years ago

9 comments

kalvinalmost 14 years ago
I'm going to repost this here because it actually tells me why I'd want to route all my JS through a third party, and I had to click through the blog link below to find it:<p><a href="http://blog.proxino.com/post/8388203148/catching-the-worlds-bugs-instrumentation-via-proxy" rel="nofollow">http://blog.proxino.com/post/8388203148/catching-the-worlds-...</a><p>"At Proxino, there’s one question I receive with uncommon frequency: why the proxy? After all, we only ever (at the moment) handle exceptions for you, and so there is curiosity. Is it really necessary, my customer will ask. He considers, perhaps, that the proxy is some clever ploy, a small glimpse at our plans for world domination. A lovely thought, if only it were so. Developers in particular have a tendency to believe that what Proxino does can be done dynamically. They are mistaken.<p>In a general sense, what Proxino does is a form of global exception handling, a way to catch every exception that occurs within your Javascript. To their credit, our customers correctly suspect that some approximation of this can be achieved dynamically. For it certainly can. Here is a naive first pass attempt at such a global handler, no proxy required:<p>window.onerror = function(e){ console.log(e) }<p>Unfortunately, window.onerror does not work in every browser, nor on every piece of code. It will fail to catch some exceptions raised by elements of jQuery, and other similarly complex libraries. It’s a simple one-liner, and it sort of works. But quite often, sort of is not enough.<p>With a bit more care — and a lot more code — a clever programmer can find dynamic work arounds for most browsers and most popular libraries. However in the general case, a global exception handler constructed dynamically is something of an elusive, asymptotic state. You are simply not going to get there. And this brings me to my point. Proxino is not interested in most. We want to catch, and tell you about, everything that goes wrong in your Javascript. Enter the proxy.<p>When a request reaches proxy.proxino.com, we lookup your existing code, parse it into AST form, and walk down the tree inserting special try/catch blocks within each function definition, as well as around the file itself. We then serve this instrumented file to your users, and handle every exception that occurs. Naturally, we have optimized this process for speed (with caching, etc.) but this guarantees us — and more importantly, you — complete code coverage. You will know about every exception.<p>Dynamic approaches are incredibly convenient in some ways, but in the general case they simply don’t work. And so there is a Good reason for the proxy. Hope this helps."
评论 #2870058 未加载
yodasanalmost 14 years ago
This was originally posted 2 weeks ago before their name change from Taazr to Proxino. For original discussions on the site: <a href="http://news.ycombinator.com/item?id=2833945" rel="nofollow">http://news.ycombinator.com/item?id=2833945</a>
tmcwalmost 14 years ago
Any indication of what you get out of this service? I know the fundamentals, but the site's sneak-peek content consists of a TextMate screenshot and documentation. That's all push - what's the pull?
toast76almost 14 years ago
This is really cool, and exactly what I need.<p>Consider me signed up.
dsteinalmost 14 years ago
You can do this pretty easily without a third-party by just using window.onerror, and then doing an ajax request to log it.
评论 #2869485 未加载
IanDrakealmost 14 years ago
Am I reading the docs correctly...put your secret key in the client side script block?<p><a href="https://www.proxino.com/docs/getting_started" rel="nofollow">https://www.proxino.com/docs/getting_started</a>
评论 #2869640 未加载
photon_offalmost 14 years ago
I'm interested, but before I continue I'd like to see screenshots or a demo so I can get a feel for the product.
ben_hallalmost 14 years ago
What happens if Proxino goes down?
评论 #2869773 未加载
wyclifalmost 14 years ago
Is it not proper to spell JavaScript with a capital J and S?
评论 #2871873 未加载