自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

【力薦】幫你確定應(yīng)用程序異常的四款在線跟蹤服務(wù)

譯文
移動(dòng)開發(fā)
作為軟件開發(fā)者,應(yīng)用程序的異常是再稀疏平常不過的事情了。那么,您怎么才能準(zhǔn)確發(fā)現(xiàn)到用戶為何會(huì)碰到了問題、具體錯(cuò)誤在哪里、甚至是應(yīng)用程序如何崩潰的呢?

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

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

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

  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 

那么您的應(yīng)用程序也會(huì)記錄這些信息,而且能夠記錄到一個(gè)集中存儲(chǔ)的日志區(qū)域嗎?如果是這樣的話,它們:

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

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

1.Raygun

【力薦】幫你確定應(yīng)用程序異常的四款在線跟蹤服務(wù)

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

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

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

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

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

  • 何時(shí)發(fā)生的
  • 發(fā)生在哪個(gè)頁面上
  • 異常的消息體本身
  • 發(fā)生的區(qū)域

例外可以通過各種類型的標(biāo)準(zhǔn)來進(jìn)行過濾,其中包括瀏覽器類型、操作系統(tǒng)類型、宿主機(jī)以及機(jī)器名等。而真實(shí)用戶監(jiān)控,則是從另一個(gè)方面,提供了有關(guān)應(yīng)用是如何被執(zhí)行的細(xì)節(jié),包括如下的度量維度(如果適用的話):

  • 平均加載的時(shí)間
  • 頁面加載的時(shí)間
  • 客戶數(shù)與瀏覽量

這種功能可幫助用戶跟蹤每一個(gè)部署對(duì)應(yīng)用程序的影響,是正面還是負(fù)面的。同時(shí),用戶的儀表板界面也能夠被完全定制,以滿足您的項(xiàng)目和團(tuán)隊(duì)的需要。具體包含的細(xì)節(jié)包括:

  • 加載時(shí)間
  • 全局會(huì)話的分布
  • 活動(dòng)使用用戶
  • 會(huì)話數(shù)量
  • 總用戶數(shù)
  • 新用戶數(shù)
  • 返回的用戶數(shù)
  • 平均加載的時(shí)間

它的另一個(gè)便利的特點(diǎn)是Pulse。Pulse能夠表明通過各種接近實(shí)時(shí)的事件,來顯示當(dāng)前網(wǎng)站的各種用戶狀態(tài)。通過它所提供的視圖,您可以詳細(xì)地查看到如下的信息:

  • 加載的時(shí)間
  • 各種會(huì)話的數(shù)量
  • 各類用戶的數(shù)量
  • 24小時(shí)內(nèi)的會(huì)話趨勢(shì)
  • 那些最近的請(qǐng)求
  • 平均加載的時(shí)間
  • 那些請(qǐng)求最多的網(wǎng)頁
  • 那些最近的崩潰

如果您深入到頁面的級(jí)別,您還可以得到諸如為何頁面表現(xiàn)不佳之類的綜合信息,其中也包括DNS的查詢、延遲、SSL的開銷、頁面生成以及傳輸?shù)臅r(shí)間。

定價(jià)機(jī)制

Raygun的定價(jià)是根據(jù)用戶所訂閱的服務(wù)來的。您可以選用整個(gè)平臺(tái),或是崩潰報(bào)告,當(dāng)然也可以只選擇真實(shí)用戶監(jiān)控。所以說,這算是一種非常靈活的定價(jià)結(jié)構(gòu)。

具體費(fèi)用從每月19美元到高達(dá)每月1499美元不等。價(jià)格會(huì)隨著功能的增加而上漲。另外,如果您去注冊(cè)的話,會(huì)有14天的免費(fèi)試用期。

2.Airbrake

【力薦】幫你確定應(yīng)用程序異常的四款在線跟蹤服務(wù)

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

Airbrake能支持大量的語言和平臺(tái),包括:Java、JavaScript、PHP、Go、Node、Swift、Magento、Django、.Net和Ruby on Rails等。它能夠與一系列的標(biāo)準(zhǔn)服務(wù)進(jìn)行集成,其中包括:Bitbucket、GitHub、PivotalTracker、FlowDock、Campfire、Jira、HipChat和assembla。

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

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

通過深入了解,您會(huì)發(fā)現(xiàn)Airblake使用了開源的錯(cuò)誤與異常的通知組件,并取代了一般應(yīng)用程序的默認(rèn)錯(cuò)誤處理程序。它能夠捕獲各種標(biāo)準(zhǔn)類型的錯(cuò)誤,包括:404、500、一般登錄問題和其他一些特定應(yīng)用的錯(cuò)誤。

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

  • 某一個(gè)異常發(fā)生的次數(shù)
  • 錯(cuò)誤發(fā)生的當(dāng)時(shí)環(huán)境
  • 一條完整路徑的回溯
  • 當(dāng)時(shí)的各個(gè)參數(shù)
  • 從上一次部署以來某個(gè)異常發(fā)生的次數(shù)
  • 一個(gè)部署能夠修復(fù)哪些異常

鑒于所處的環(huán)境、錯(cuò)誤數(shù)的優(yōu)先級(jí)和用戶類型都會(huì)對(duì)異常產(chǎn)生過濾,Airblake將這些異常輕松地轉(zhuǎn)換成了工單號(hào),以方便它們對(duì)應(yīng)上相應(yīng)的解決方案,并在不同環(huán)境中被部署時(shí)能夠得以全程跟蹤。

定價(jià)機(jī)制

Airblake的定價(jià)結(jié)構(gòu)相對(duì)Raygun來說簡單且扁平化。它支持四種選項(xiàng),分別從每月49美元到每月249美元遞增。我個(gè)人覺得這個(gè)扁平式定價(jià)結(jié)構(gòu)反而是一個(gè)好事,因?yàn)槟粫?huì)犯“選擇恐懼癥”。同樣它也有30天的免費(fèi)體驗(yàn)計(jì)劃。

3.Sentry.io

【力薦】幫你確定應(yīng)用程序異常的四款在線跟蹤服務(wù)

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

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

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

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

它的安全和隱私設(shè)置對(duì)我極具吸引力。在那里,您可以啟用增強(qiáng)的隱私和數(shù)據(jù)清理,從而確保個(gè)人身份信息和其他類型的敏感信息能夠從日志中被擦除,以便他們永遠(yuǎn)不會(huì)因?yàn)椴恍⌒亩孤冻鰜怼?/p>

我們?cè)賮砜纯此暮诵墓δ?。所有發(fā)給Sentry的異常都會(huì)被捕獲到如下的特征信息,其中包括:

  • 環(huán)境
  • 瀏覽器
  • 操作系統(tǒng)
  • 觸發(fā)異常的路徑
  • 異常發(fā)生的條件
  • 軟件的發(fā)布信息
  • 異常嚴(yán)重性
  • 服務(wù)器名稱
  • 最后一次出現(xiàn)的時(shí)間點(diǎn)
  • 受異?;钴S用戶數(shù)
  • 錯(cuò)誤類型(HTTP錯(cuò)誤、500和404)
  • 已經(jīng)發(fā)生異常的次數(shù)
  • 是否已經(jīng)解決

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

面包屑包含以下功能:

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

您應(yīng)該可以看出,上述所列四個(gè)領(lǐng)域已經(jīng)能夠涉及到當(dāng)前常用列表的諸多方面了。它的另外一個(gè)亮點(diǎn)是能夠支持開源模式和全托管服務(wù)模式。也就是說,您既可以免費(fèi)使用,又可以將它外包給Sentry打理,選擇權(quán)完全在您手中。

定價(jià)機(jī)制

說實(shí)話在各種服務(wù)中,我最喜歡Sentry的定價(jià)結(jié)構(gòu),因?yàn)樗麄冎С忠环N所謂的“愛好者帳戶”,即永久免費(fèi)的帳戶。它的方便之處在于,如果您只想試驗(yàn)該服務(wù),而不確定是否真的會(huì)將它運(yùn)用到項(xiàng)目某處時(shí),您就可以參照此模式。

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

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

4.Rollbar

【力薦】幫你確定應(yīng)用程序異常的四款在線跟蹤服務(wù)

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

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

和其他所有的服務(wù)一樣,它的設(shè)置向?qū)軌驇椭鷱牧汩_始,其文檔也比較深入透徹。另外除了文檔支持,它還提供電子郵件、IRC(Internet Relay Chat)、電話以及在線聊天方式的支持。

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

由于Rollbar能與GitHub、Bitbucket和GitLab完全集成,因此您在使用的時(shí)候,可以方便地跟蹤那些因?yàn)樘峤凰鶎?dǎo)致的問題。這些信息可以通過儀表板、各種API、或者使用RQL(Rollbar的查詢語言,請(qǐng)見https://rollbar.com/docs/rql/)來獲取到。

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

例如: 

  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 

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

  • 最近24小時(shí)內(nèi)的前10大問題
  • 最近24小時(shí)內(nèi)的前5大活動(dòng)項(xiàng)
  • 截至上周的前5大活動(dòng)項(xiàng)

您可以根據(jù)環(huán)境對(duì)報(bào)告進(jìn)行進(jìn)一步篩選。通過查看所有項(xiàng)目的列表,您可以獲知異常發(fā)生的次數(shù)、24小時(shí)內(nèi)的趨勢(shì)、上次發(fā)生時(shí)間、其所處的環(huán)境和使用到的語言。

進(jìn)一步點(diǎn)開某個(gè)項(xiàng)目,您可以了解到異常的整個(gè)歷史過程,包括查看到使用的瀏覽器、操作系統(tǒng)、請(qǐng)求方法、請(qǐng)求的URL,服務(wù)器繁忙程度、異常消息體等。

與此同時(shí),Rollbar還能將異常與一個(gè)版本控制系統(tǒng)的問題庫相關(guān)聯(lián),從而通過完整的歷史分析和推送式的部署來予以解決。它所呈現(xiàn)出的信息不但全面而且界面友好。

定價(jià)機(jī)制

和其他服務(wù)一樣,Rollbar也提供了一系列扁平化的價(jià)格體系。他們既有為個(gè)人項(xiàng)目提供的免費(fèi)版本,也有從每月49美元到每月599美元的尊享版本。

除了這些,您還可以根據(jù)實(shí)際需求對(duì)默認(rèn)選項(xiàng)進(jìn)行取舍,以滿足特殊的安全與合規(guī)的需要。

結(jié)論

這就是市場(chǎng)上最好的四款在線式異常跟蹤服務(wù)。就我個(gè)人而言,Rollbar和Sentry是我的最愛,因?yàn)樗鼈児δ茇S富且儀表盤顯示專業(yè),一句話:全面!當(dāng)然,它們所提供信息量對(duì)于您所面對(duì)的真實(shí)情況可能會(huì)有所過剩。

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

原文標(biāo)題:The Top Four Exception Tracking Services,作者:Matthew Setter

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:未麗燕 來源: 51CTO.com
相關(guān)推薦

2014-03-04 09:22:24

bug程序員

2014-04-02 14:00:41

移動(dòng)應(yīng)用程序工具

2013-04-22 09:21:43

2011-03-18 13:30:18

Android辦公

2012-06-07 09:15:14

ibmdw

2011-04-19 09:19:55

應(yīng)用程序項(xiàng)目管理

2016-04-19 11:50:58

開源音頻視頻

2019-07-05 08:00:00

WindowsWindows 10程序

2018-11-23 08:54:27

服務(wù)器程序監(jiān)控

2010-09-28 10:51:44

亞馬遜在線商店Android Mar

2018-10-12 10:51:15

LinuxChromebook應(yīng)用程序

2009-03-11 13:38:37

構(gòu)造塊ActivityIntent Rece

2009-06-11 14:45:50

Linux免費(fèi)CAD

2019-11-11 15:24:04

Linux軟件微軟

2017-01-15 15:02:42

JavaScript移動(dòng)應(yīng)用開發(fā)框架

2009-08-28 11:00:15

蘋果在線應(yīng)用商店

2014-08-28 14:09:40

AppAndroid Wea應(yīng)用

2017-01-10 08:30:01

2021-04-28 16:45:51

蘋果iOS設(shè)備

2009-11-06 12:49:11

WCF面向服務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)