InfoQ

新闻

Exceptional和Hoptoad扩展Rails异常监控

作者 Sebastien Auvray译者 马家宽 发布于 2008年9月24日 上午9时8分

社区
Ruby
主题
Ruby on Rails,
SaaS
标签
异常处理,
Rails,
Rails插件
异常监控通常是一件重要而棘手的任务。而Rails插件ExceptionNotifier通过提供一个mailer对象和一组在Rails应用发生错误时发送邮件提醒的缺省模版,让这一切变得更加容易。 两家公司(ExceptionalHoptoad)则更进一步,提供了一个第三方服务来拦截异常并将其显示在web形式的界面上。当然,用户也可以选择继续使用通过邮件或短消息的传统通知方式。

我们采访了Exceptional公司的Eoghan McCabe和Hoptoad公司的Matt Jankowski。

两家技术顾问公司的这一想法来自于所从事的对于内部以及外部Rails应用的维护经验
Hoptoad - 在过去的六个月中,我们已经在所维护的很多公司内部和客户的应用中使用这一服务,并且很高兴得看到我们的异常捕获服务从开始到现在一直在不断的完善壮大。
Eoghan则代表Expceptional发言:
Exceptional - 在我们为客户构造应用时,我们非常重视监控性能、负载和异常。长时间以来,我们一直在使用ExceptionNotifier和 Logged_Exceptions插件,它们确实非常有用。但我们希望能扩展这些插件,以使得它们能更好的适应我们的工作环境。我们想避免因为通知手段 唯一而造成的邮件泛滥,使我们能够通过多种方式获取通知,通过协作查研异常,从整体上对我们所管理的所有应用中出现的异常有足够的控制力。
Exceptional和Hoptoad都推出不久(Exceptional仍处于beta版阶段)。这两个服务都在不断推出新功能。从正式发布以来,Hoptoad已经捕获了超过300000个外部应用的异常。

从技术方面,Eoghan列出了Exceptional所使用的Rails插件:
  • UltraSphinx – 提供了非常稳定的搜索索引
  • WillPaginate – 几乎所有的Rails工程都需要这一插件
  • hubahuba – 为基本类提供了令人称道的扩展
  • rspec
Matt也列出了Hoptoad所使用的插件列表:
  • 一个原始的Rails应用(如果我们要考虑规模问题,我们会将“错误捕获部分”与应用的其他部分相分离,并且/或增加服务器)
  • Hoptoad自己开发的测试工具(shoulda + factory girl)
  • Intridea的subdomain_fu插件,以及DHH的openid插件
  • 为整个应用使用的Firstly HAML
  • EngineYard提供的部署托管
在安装后ExceptionalHoptoad后,应用中的异常将会被拦截下来,并报告给Exceptional界面。您可以根据自己的偏好决定Exceptional界面的具体形式,比如Email通知或手机短消息(短消息这一功能只有Exceptional提供)。异常的发生路径会被自动追踪,其状态也可以转换为“已解决”,“已关闭”或“已忽略”。

Exceptional
Hoptoad

当被问及相对于竞争对手,其各自应用有什么killer级特性时,二者的回答看起来有些类似。

Eoghan给出了Exceptional一些看起来优于Hoptoad的特性:
Exceptional所专有特性的重要性已经被我们的用户所验证,包括注释,与Lighthouse的集成,与Campfire的集成,短消 息通知等。我们还可以处理404类的异常并计划提供一个比较优雅的界面来管理这类异常。而Hoptoad则会忽略404类的异常,正如 ExceptionNotifier那样。
此外,Exceptional专注于服务Rails应用,而Hoptoad则并不特定于某种框架:
我们专注于Rails,所以我们可以让我们的服务更加贴近Rails,帮助Rails应用的开发者解决他们特定的问题。
这两个服务都是免费的。

在Web应用中,您打算如何处理异常和异常通知呢?

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!