成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【力薦】幫你確定應用程序異常的四款在線跟蹤服務

譯文
移動開發
作為軟件開發者,應用程序的異常是再稀疏平常不過的事情了。那么,您怎么才能準確發現到用戶為何會碰到了問題、具體錯誤在哪里、甚至是應用程序如何崩潰的呢?

【51CTO.com快譯】眾所周知,軟件開發既具挑戰性,又比較復雜。具體來說,無論我們是在開發登錄頁面的APP還是Linux的內核驅動程序,軟件都需要記錄各種信息,并做大量的分析。

在上述這些信息中,如果您想找出為什么用戶會碰到某個問題、具體錯誤在哪里、甚至是應用程序如何崩潰的話,分析它們的異常是必不可少的。

讓我們先來看看下面的例子,異常消息顯示了由于數據庫表--tblmovies未被找到,所以異常PDOException被拋出。在此,您還能看到它是從初始點開始,執行到一個類的具體某行時所拋出的異常(我們已經將其編輯為可閱讀的形式)。 

  1. PDOException thrown with message "SQLSTATE[HY000]: General error: 1 no such table: tblmovies"
  2. Stacktrace: 
  3. #28 PDOException in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:186 
  4. #27 PDO:prepare in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:186 
  5. #26 Zend\Db\Adapter\Driver\Pdo\Statement:prepare in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:212 
  6. #25 Zend\Db\Adapter\Driver\Pdo\Statement:execute in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php:239 
  7. #24 Zend\Db\TableGateway\AbstractTableGateway:executeSelect in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php:209 
  8. #23 Zend\Db\TableGateway\AbstractTableGateway:selectWith in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/src/Movies/src/Services/Database/MovieTable.php:48 
  9. ... 
  10. #5 Zend\Stratigility\Middleware\ErrorHandler:process in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-expressive/src/Middleware/LazyLoadingMiddleware.php:60 
  11. #4 Zend\Expressive\Middleware\LazyLoadingMiddleware:process in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-stratigility/src/Next.php:128 
  12. #3 Zend\Stratigility\Next:process in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php:102 
  13. #2 Zend\Stratigility\MiddlewarePipe:process in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/vendor/zendframework/zend-expressive/src/Application.php:374 
  14. #1 Zend\Expressive\Application:run in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/public/index.php:29 
  15. #0 {closure} in /Users/settermjd/Documents/Business/Projects/Zend Expressive Course/book-code/iteration-five/public/index.php:30 

那么您的應用程序也會記錄這些信息,而且能夠記錄到一個集中存儲的日志區域嗎?如果是這樣的話,它們:

  • 所記錄的信息容易被獲取到嗎?
  • 是否能夠被有效地進行解析?
  • 您是否能回溯到問題的提交源頭(和提交者)呢?
  • 它是否提供了額外的元數據和有助于理解的提示呢?
  • 是否會包含個人身份信息(PII)、憑證、或其他任何形式的且需要進行安全加固的信息呢?

如果不能夠滿足上述所有、或者至少是大部分問題的話,這就會存在問題的隱患。在此,您可以通過閱讀本文,了解到四款在線的異常跟蹤服務。請注意,我們的羅列并無特別的優先順序。

1.Raygun

【力薦】幫你確定應用程序異常的四款在線跟蹤服務

承蒙可口可樂、微軟、Slack和3M的賞識,Raygun能為各種應用異常的跟蹤提供時髦且專業的用戶界面(UI)。由于已有現成且詳盡的指導性文檔,Raygun很容易被上手。

除了基本的安裝設置文檔之外,Raygun還能為其各個方面的服務提供大量的擴展文檔(https://raygun.com/docs)。其中包括:

  • 設置審計日志。
  • 管理用戶和組。
  • 配置集成(其中包括Bitbucket、PivotalTracker、Visual Studio Team Services、Zendesk、Slack、YouTrack和Trello)。
  • 各種API和網絡鉤子。

Raygun能夠支持各種語言、平臺和框架。這些包括PHP、.Net、安卓、iOS、MacOS、WordPress、Java、Python、Cold Fusion和C++。

Raygun所提供的服務主要集中在兩個方面:崩潰報告(crash reporting)和真實用戶監控(real user monitoring)。崩潰報告旨在通過查找,來了解和修復那些造成應用崩潰的各種異常。對于每一個被發送到Raygun的異常,它們會被分解和重新組織,并且根據如下條目進行分類顯示:

  • 何時發生的
  • 發生在哪個頁面上
  • 異常的消息體本身
  • 發生的區域

例外可以通過各種類型的標準來進行過濾,其中包括瀏覽器類型、操作系統類型、宿主機以及機器名等。而真實用戶監控,則是從另一個方面,提供了有關應用是如何被執行的細節,包括如下的度量維度(如果適用的話):

  • 平均加載的時間
  • 頁面加載的時間
  • 客戶數與瀏覽量

這種功能可幫助用戶跟蹤每一個部署對應用程序的影響,是正面還是負面的。同時,用戶的儀表板界面也能夠被完全定制,以滿足您的項目和團隊的需要。具體包含的細節包括:

  • 加載時間
  • 全局會話的分布
  • 活動使用用戶
  • 會話數量
  • 總用戶數
  • 新用戶數
  • 返回的用戶數
  • 平均加載的時間

它的另一個便利的特點是Pulse。Pulse能夠表明通過各種接近實時的事件,來顯示當前網站的各種用戶狀態。通過它所提供的視圖,您可以詳細地查看到如下的信息:

  • 加載的時間
  • 各種會話的數量
  • 各類用戶的數量
  • 24小時內的會話趨勢
  • 那些最近的請求
  • 平均加載的時間
  • 那些請求最多的網頁
  • 那些最近的崩潰

如果您深入到頁面的級別,您還可以得到諸如為何頁面表現不佳之類的綜合信息,其中也包括DNS的查詢、延遲、SSL的開銷、頁面生成以及傳輸的時間。

定價機制

Raygun的定價是根據用戶所訂閱的服務來的。您可以選用整個平臺,或是崩潰報告,當然也可以只選擇真實用戶監控。所以說,這算是一種非常靈活的定價結構。

具體費用從每月19美元到高達每月1499美元不等。價格會隨著功能的增加而上漲。另外,如果您去注冊的話,會有14天的免費試用期。

2.Airbrake

【力薦】幫你確定應用程序異常的四款在線跟蹤服務

Airbrake正在被諸如SendGrid、Groupon、SoundCloud、Salesforce、以及TED所使用著。它符合的標準包括:HIPAA、PCI和SOX。

Airbrake能支持大量的語言和平臺,包括:Java、JavaScript、PHP、Go、Node、Swift、Magento、Django、.Net和Ruby on Rails等。它能夠與一系列的標準服務進行集成,其中包括:Bitbucket、GitHub、PivotalTracker、FlowDock、Campfire、Jira、HipChat和assembla。

與Raygun不同,Airblake的UI界面并不那么充實,當然也不會顯示出各種豐富的功能。例如:Raygun支持通過Facebook、Google+、Twigger和GitHub的登錄,而Airblake只支持GitHub一種方式。

另外,Airblake的文檔并不充沛。不過,盡管如此,它的服務本身還是非常優秀的。無論您使用的是什么語言或平臺,它都能為您的上手提供詳細的搭建說明。

通過深入了解,您會發現Airblake使用了開源的錯誤與異常的通知組件,并取代了一般應用程序的默認錯誤處理程序。它能夠捕獲各種標準類型的錯誤,包括:404、500、一般登錄問題和其他一些特定應用的錯誤。

該通知組件將有關應用程序異常的各種詳細信息提供給Airblake,而Airblake籍此進行相應的分析和數據重組,以提供更多的可視化,并且顯示出所發生了異常的各種細節信息。這里所提到的儀表板上能夠顯示的數據包括有如下信息:

  • 某一個異常發生的次數
  • 錯誤發生的當時環境
  • 一條完整路徑的回溯
  • 當時的各個參數
  • 從上一次部署以來某個異常發生的次數
  • 一個部署能夠修復哪些異常

鑒于所處的環境、錯誤數的優先級和用戶類型都會對異常產生過濾,Airblake將這些異常輕松地轉換成了工單號,以方便它們對應上相應的解決方案,并在不同環境中被部署時能夠得以全程跟蹤。

定價機制

Airblake的定價結構相對Raygun來說簡單且扁平化。它支持四種選項,分別從每月49美元到每月249美元遞增。我個人覺得這個扁平式定價結構反而是一個好事,因為您不會犯“選擇恐懼癥”。同樣它也有30天的免費體驗計劃。

3.Sentry.io

【力薦】幫你確定應用程序異常的四款在線跟蹤服務

Sentry是所有四個選項中令人印象最深刻的一款,它被諸如Dropbox、Airbnb、 Paypal和Microsoft之類的大公司所使用。Sentry由Python所編寫,它能夠支持和處理來自各種語言和應用程序的事件類API。

Sentry所支持的語言和平臺十分廣泛,包括JavaScript、Ember、Python、Ruby on Rails、PHP、iOS、安卓、Go、.Net、Java、Objective-C/Swift和Perl。它所集成的常用開發者服務包括:Slack、GitHub、Trello、Heroku、GitLab、Twilio、PagerDuty、Datadog和YouTrack。

就像這個列表中的大多數服務一樣,它提供廣泛的且可搜索的文件,并且文件的組織方式非常合理。除此之外,Sentry還能夠支持社區論壇。您可以在它們的GitHub庫中查閱和創建問題。

我發現Sentry的儀表板不但布局合理、簡潔,而且組織得非常美觀。您既可以通過它迅速地獲得所有項目的概況,也可以深入到某個特定的項目中,以了解更多。同時你還可以在一個項目中對某些尚未解決,但需要重新分類的問題進行移動。

它的安全和隱私設置對我極具吸引力。在那里,您可以啟用增強的隱私和數據清理,從而確保個人身份信息和其他類型的敏感信息能夠從日志中被擦除,以便他們永遠不會因為不小心而泄露出來。

我們再來看看它的核心功能。所有發給Sentry的異常都會被捕獲到如下的特征信息,其中包括:

  • 環境
  • 瀏覽器
  • 操作系統
  • 觸發異常的路徑
  • 異常發生的條件
  • 軟件的發布信息
  • 異常嚴重性
  • 服務器名稱
  • 最后一次出現的時間點
  • 受異常活躍用戶數
  • 錯誤類型(HTTP錯誤、500和404)
  • 已經發生異常的次數
  • 是否已經解決

Sentry還支持一個叫做面包屑(breadcrumbs)的概念。顧名思義,它是一些在問題發生之前的事件線索。

面包屑包含以下功能:

  • 消息:描述事件的字符串。最常見的來源是一條傳統日志的混合信息。
  • 數據:是圍繞著相關事件的各種元數據的映射(例如str => str)。雖然如今已被消息所代替,但某些傳統系統仍在使用。
  • 類別:類別可以用來標簽一個事件。它通常有點類似于日志的名稱,以便您在某個事件發生后更容易地理解它所屬的類別,比如屬于身份驗證類。
  • 等級:任何錯誤、警告、信息或調試所涉及到的嚴重等級。

您應該可以看出,上述所列四個領域已經能夠涉及到當前常用列表的諸多方面了。它的另外一個亮點是能夠支持開源模式和全托管服務模式。也就是說,您既可以免費使用,又可以將它外包給Sentry打理,選擇權完全在您手中。

定價機制

說實話在各種服務中,我最喜歡Sentry的定價結構,因為他們支持一種所謂的“愛好者帳戶”,即永久免費的帳戶。它的方便之處在于,如果您只想試驗該服務,而不確定是否真的會將它運用到項目某處時,您就可以參照此模式。

他們所支持價格從每月26美元一直到每月449美元。如果您的需求超過此范圍的話,就像其他的服務那樣,他們也提供企業級的方案。

Sentry還有著基于事件數的每月訂閱套餐和年套餐。欲了解更多的定價和功能信息,請查看https://sentry.io/pricing/。如果您熱衷于試用服務的話,別忘了申請“愛好者帳戶”。

4.Rollbar

【力薦】幫你確定應用程序異常的四款在線跟蹤服務

使用Rollbar的公司,包括Kayak、Heroku、Salesforce和Instacart。它所支持的語言有:Ruby、PHP、Node、Python和Java,而平臺則包括:iOS和安卓。除了這些,它能與大多數標準的服務相集成,其中包括:Slack、HipChat、Logstash、Mailgun、Jira、Trello、Sprintly、Help Scout和PagerDuty。

Rollbar能符合一系列的行業標準,包括HIPAA、ISO 27001和Privacy Shield(https://www.privacyshield.gov/welcome)。它可以由2048位SSL加密,單點登錄(Single Sign-On)和雙因素認證(2FA)來保護。

和其他所有的服務一樣,它的設置向導能夠幫助您從零開始,其文檔也比較深入透徹。另外除了文檔支持,它還提供電子郵件、IRC(Internet Relay Chat)、電話以及在線聊天方式的支持。

Rollbar通過多種方式來保護信息的私密性。這些功能方式包括:靜態數據加密、PII、PCI數據過濾和去除、用戶活動的審核日志和內部與獨立的滲透(PEN)測試。

由于Rollbar能與GitHub、Bitbucket和GitLab完全集成,因此您在使用的時候,可以方便地跟蹤那些因為提交所導致的問題。這些信息可以通過儀表板、各種API、或者使用RQL(Rollbar的查詢語言,請見https://rollbar.com/docs/rql/)來獲取到。

關于Rollbar的查詢語言(RQL),它在Rollbar中為數據提供了豐富的、類似于SQL的接口。RQL在兩種邏輯表、item_occurrence和部署中都支持SELECT。那些基于GROUP BY、ORDER BY、LIMIT和聚合函數都是可用的,當然也包括WHERE語句中的任意表達式。

例如: 

  1. SELECT request.user_ip, count(*), count(server.host), avg(body.message.seconds), max(timestamp 
  2. FROM item_occurrence  
  3. WHERE item.counter = 840  
  4. AND timestamp > unix_timestamp() - 60 * 60 * 24  
  5. GROUP BY request.user_ip  
  6. ORDER BY count(*) DESC  
  7. LIMIT 100 

它的儀表板雖然簡單,但是信息卻很豐富。默認情況下,您可以看到:

  • 最近24小時內的前10大問題
  • 最近24小時內的前5大活動項
  • 截至上周的前5大活動項

您可以根據環境對報告進行進一步篩選。通過查看所有項目的列表,您可以獲知異常發生的次數、24小時內的趨勢、上次發生時間、其所處的環境和使用到的語言。

進一步點開某個項目,您可以了解到異常的整個歷史過程,包括查看到使用的瀏覽器、操作系統、請求方法、請求的URL,服務器繁忙程度、異常消息體等。

與此同時,Rollbar還能將異常與一個版本控制系統的問題庫相關聯,從而通過完整的歷史分析和推送式的部署來予以解決。它所呈現出的信息不但全面而且界面友好。

定價機制

和其他服務一樣,Rollbar也提供了一系列扁平化的價格體系。他們既有為個人項目提供的免費版本,也有從每月49美元到每月599美元的尊享版本。

除了這些,您還可以根據實際需求對默認選項進行取舍,以滿足特殊的安全與合規的需要。

結論

這就是市場上最好的四款在線式異常跟蹤服務。就我個人而言,Rollbar和Sentry是我的最愛,因為它們功能豐富且儀表盤顯示專業,一句話:全面!當然,它們所提供信息量對于您所面對的真實情況可能會有所過剩。

如果您已經準備好了針對應用程序所碰到的異常進行跟蹤,或者想從自行開發的跟蹤方案遷移到一個專業外包服務之上的話,我強烈建議您考慮我們上述所提到的這四款服務。我相信總有一款能適合您的應用程序需求,讓您能將更多的資源投入到應用程序本身的研發上面。

原文標題:The Top Four Exception Tracking Services,作者:Matthew Setter

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:未麗燕 來源: 51CTO.com
相關推薦

2014-03-04 09:22:24

bug程序員

2014-04-02 14:00:41

移動應用程序工具

2011-03-18 13:30:18

Android辦公

2013-04-22 09:21:43

2012-06-07 09:15:14

ibmdw

2016-04-19 11:50:58

開源音頻視頻

2011-04-19 09:19:55

應用程序項目管理

2018-10-12 10:51:15

LinuxChromebook應用程序

2019-07-05 08:00:00

WindowsWindows 10程序

2018-11-23 08:54:27

服務器程序監控

2014-08-28 14:09:40

AppAndroid Wea應用

2017-01-10 08:30:01

2010-09-28 10:51:44

亞馬遜在線商店Android Mar

2019-11-11 15:24:04

Linux軟件微軟

2017-01-15 15:02:42

JavaScript移動應用開發框架

2009-06-11 14:45:50

Linux免費CAD

2009-03-11 13:38:37

構造塊ActivityIntent Rece

2009-08-28 11:00:15

蘋果在線應用商店

2009-11-06 12:49:11

WCF面向服務

2021-04-28 16:45:51

蘋果iOS設備
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片免费观看视频 | 激情在线视频网站 | 日本精品视频在线观看 | 午夜影院 | 午夜男人免费视频 | 国产激情视频在线 | 精国产品一区二区三区四季综 | 精品久久久久久久久亚洲 | 亚洲国产精品精华素 | 日韩精品在线网站 | 亚洲成人三级 | 有码一区 | 91中文字幕在线观看 | 黄在线免费观看 | 久久综合香蕉 | 久久综合久久综合久久综合 | 日韩久久久一区二区 | 亚洲成人一二区 | 欧美精品在欧美一区二区少妇 | 中文字幕一区二区三区精彩视频 | 免费一区二区三区 | 中文天堂在线一区 | 久在线 | 国产精品一区一区 | 色视频www在线播放国产人成 | 成人一级片在线观看 | h在线免费观看 | 欧美黄在线观看 | 日韩欧美在线观看 | 成人久久 | a级毛片国产 | 男人电影天堂 | 国产亚洲一区二区三区 | 欧美精品久久 | 久久精品av | 毛片国产| 国产精品99久久久久久久vr | 武道仙尊动漫在线观看 | 久草热线| 日韩av电影院 | 日韩精品无码一区二区三区 |