标签: rollbar

ResizeObserver - 超出了循环限制

大约两个月前,我们开始使用Rollbar通知我们Web应用程序中的各种错误.从那时起,我们偶尔会遇到错误:

ResizeObserver loop limit exceeded

令我困惑的是我们没有使用ResizeObserver,我调查了唯一一个我认为可能是罪魁祸首的插件,即:

Aurelia Resize

但它似乎也没有使用ResizeObserver.

令人困惑的是,这些错误消息自1月以来一直在发生,但ResizeObserver最近才向Chrome 65添加了支持.

给我们这个错误的浏览器版本是:

  • Chrome:63.0.3239(超出ResizeObserver循环限制)
  • Chrome:64.0.3282(超出ResizeObserver循环限制)
  • 边缘:14.14393(SecurityError)
  • 边缘:15.15063(SecurityError)

所以我想知道这是否可能是一个浏览器错误?或者可能是一个与实际无关的错误ResizeObserver

google-chrome aurelia microsoft-edge rollbar

43
推荐指数
7
解决办法
2万
查看次数

如何防止rollbar报告开发环境中的错误?

如何在开发环境中报告错误时禁用rollbar gem?我只想从暂存和制作中获取错误,但我没有在Rollbar网站上的文档中找到它.

ruby-on-rails rollbar

24
推荐指数
3
解决办法
8169
查看次数

Heroku上的ActionCable服务器响应时间

我使用ActionCable实现了一个实时聊天系统.它可以工作,但我不断从Rollbar获取/cable生产中的端点(Heroku)的异常通知.

2017-07-18T15:36:54.738588+00:00 heroku[router]: at=info method=GET path="/cable?user_id=63191&client=Gc-CvUfsgAW70KMpIBX25A&access_token=MoBTM2jF9wTwqblMsXQcVA" host=my-api.herokuapp.com request_id=b6cc263c-19e4-4207-8ce4-65ed6a130133 fwd="61.55.27.1" dyno=web.1 connect=0ms service=1727122ms status=101 bytes=22232 protocol=https
Run Code Online (Sandbox Code Playgroud)

请注意,它花了1727122ms.如果websocket处于活动状态,那就不足为奇了,但即使客户端已停止执行任何操作,它似乎也会保持打开状态.我是否在ActionCable配置错误,或者这是预期的?我应该在Rollbar中禁止错误通知吗?

ruby-on-rails heroku actioncable rollbar

17
推荐指数
1
解决办法
317
查看次数

没有路由匹配GET/sign_up,但我可以访问该页面?

我在生产服务器上为我的Rails 4应用程序记录了一个奇怪的错误:

ActionController::RoutingError: No route matches [GET] "/sign_up"
Run Code Online (Sandbox Code Playgroud)

这显然令人担忧,因为这意味着新用户无法注册.但是,如果我访问该URL,无论是通过手动输入,还是通过单击主页上的按钮,我都可以看到注册页面.

没有重定向,URL栏中的URL保持不变.

这是有问题的路线:

devise_scope :identity do
  get 'sign_in', :to => 'devise/sessions#new'
  get 'sign_up', :to => 'devise/registrations#new'
  get 'sign_out', :to => 'devise/sessions#destroy'
end
Run Code Online (Sandbox Code Playgroud)

由于主题黑客攻击,我们主页上的按钮是一个用GET提交的表单.我认为这可能是一个问题,但日志显示它正确接收GET请求.

这里发生了什么?我应该从哪里开始寻找诊断?

UPDATE

通过我们主页上的黑客,我的意思是,由于<a class="btn...导航器不支持导航栏,我们使用方法GET的表单使用它支持的按钮类型 - 所以从服务器的角度来看,用户仍在发送单击该按钮时获取GET/sign_up.这个按钮只是为了让他们进入/ sign_up页面(registration_controller #new),这不是他们按下提交注册表单及其所有细节的按钮.

(注册表单本身正常,即发送POST)

为了清楚起见,我已经手动完成了整个注册过程,并且它可以正常工作.我从来没有得到404.当我进行漫步时,日志消息不会出现.

这是相关的部分 rake routes

                       Prefix Verb     URI Pattern                                                       Controller#Action
         new_identity_session GET      /identities/sign_in(.:format)                                     devise/sessions#new
             identity_session POST     /identities/sign_in(.:format)                                     devise/sessions#create
     destroy_identity_session DELETE   /identities/sign_out(.:format)                                    devise/sessions#destroy
 cancel_identity_registration GET      /identities/cancel(.:format)                                      identities/registrations#cancel
        identity_registration POST     /identities(.:format)                                             identities/registrations#create
    new_identity_registration GET      /identities/sign_up(.:format)                                     identities/registrations#new
   edit_identity_registration GET      /identities/edit(.:format)                                        identities/registrations#edit
                              PATCH …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku devise ruby-on-rails-4 rollbar

7
推荐指数
1
解决办法
773
查看次数

如何在capistrano的deploy.rb文件中使用Rails 5.2凭证?

我刚刚将Rails应用程序更新为5.2,并将其配置为使用新config/credentials.yml.enc文件。

当我尝试部署时,出现以下错误:

NameError: uninitialized constant Rails
/Users/me/Documents/project/config/deploy.rb:27:in `<top (required)>'
Run Code Online (Sandbox Code Playgroud)

这指向我config/deploy.rb文件中的这一行:

set :rollbar_token, Rails.application.credentials[:rollbar_token]
Run Code Online (Sandbox Code Playgroud)

因此看来,在capistrano运行时,它无权访问Rails.application.credentials

你们都如何处理?我有一些主意...

  • 将此变量设置为ENV变量
    • 我不喜欢这如何分隔/自定义这一设置
  • 以某种方式使capistrano可以访问 Rails.application.credentials
    • 我不知道这是个好主意还是走这条路线是否需要注意其他事项
  • 在滚动条中删除部署跟踪
    • ???

capistrano ruby-on-rails capistrano3 ruby-on-rails-5 rollbar

7
推荐指数
4
解决办法
1452
查看次数

Sidekiq会自动向Rollbar报告错误吗?

我看到Mike建议使用错误服务报告sidekiq作业期间发生的错误:https: //www.mikeperham.com/2013/08/25/please-use-an-error-service

还有这个宝石,看起来它添加了一个中间件来做到这一点:https://github.com/allenwei/sidekiq-rollbar

但据报道该宝石有一个问题,表明Sidekiq已经这样做了.

有谁知道答案是什么?如果Rollbar配置为处理Rails项目中的异常,Sidekiq会自动报告在作业期间通过Rollbar发生的错误吗?或者我必须写一些东西,或使用宝石来做到这一点?

我知道Rollbar可以使用Sidekiq来提供一个队列 - 当我试图谷歌寻找答案时,这只会混淆问题.

ruby-on-rails sidekiq rollbar

6
推荐指数
1
解决办法
1088
查看次数

如何在case语句或控制器中使用__STACKTRACE__

我在Phoenix应用程序中遇到过时警告System.stacktrace/0 outside of rescue/catch clauses is deprecated. If you want to support only Elixir v1.7+, you must access __STACKTRACE__ inside a rescue/catch. If you want to support earlier Elixir versions, move System.stacktrace/0 inside a rescue/catch

事实是,我按照他们的文档中所述使用Rollbax:将Rollbax.report(:error, ArgumentError.exception("oops"), System.stacktrace())我正在执行的每个case语句包装在try / rescue块中感觉有点奇怪。例如这个:

case (SOME_URL |> HTTPoison.get([], [ ssl: [{:versions, [:'tlsv1.2']}] ])) do
      {:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
        Poison.decode!(body, [keys: :atoms])
      {:ok, %HTTPoison.Response{status_code: 404}} ->
        Rollbax.report(:error, :not_found, System.stacktrace(), %{reason: "Not found"})
      {:ok, %HTTPoison.Response{status_code: 503}} ->
        {:error, :ehostunreach}
      {:error, …
Run Code Online (Sandbox Code Playgroud)

elixir phoenix-framework rollbar

6
推荐指数
1
解决办法
131
查看次数

确保 Rollbar 报告了 RSpec 错误

我的类中的逻辑有时会Rollbar.silenced用来忽略某些异常(因此它们不会被报告)。

我正在尝试编写一个测试,以确保 rollbar 实际报告错误。

it 'does not mute rollbar' do
        expect(Rollbar).not_to receive(:silenced)
        expect(Rollbar).to receive(:error).with(any_args).and_call_original
        expect { query }.to raise_error(unknown_exception)
end
Run Code Online (Sandbox Code Playgroud)

不幸的是,在报告无法挽救的错误时:error,rollbar 不使用 in 、等方法。:critical:warning

我看到 report_exception_to_rollbarcall_with_rollbar内翻车源代码被包裹着Rollbar.scoped

所以我尝试用以下方法测试它:

expect(Rollbar).to receive(:scoped).with(any_args).and_call_original

但它也告诉我:

 Failure/Error: expect(Rollbar).to receive(:scoped).with(any_args).and_call_original
       (Rollbar).scoped(*(any args))
           expected: 1 time with any arguments
           received: 0 times with any arguments
Run Code Online (Sandbox Code Playgroud)

如何确保异常被 rollbar 捕获并使用 rspec 进行测试?

ruby rspec ruby-on-rails ruby-on-rails-4 rollbar

5
推荐指数
1
解决办法
1658
查看次数

禁用位码时下载dSYM

为了使用服务Rollbar,必须禁用用于回溯符号化的位码。我还必须将dSYM文件上传到Rollbar。但是,禁用位码时,我在哪里可以得到dSYM文件?通常,我可以在iTunes connect中下载它们(但似乎只有在启用了位码的情况下才能在iTunes connect中下载它们,否则我错了吗?)。如果禁用,则看不到任何下载链接。

itunesconnect traceback ios dsym rollbar

5
推荐指数
1
解决办法
707
查看次数

间歇"不是产品"Javascript错误

我们有一个网站(.Net/jquery/Bootstrap 4),使用Rollbar记录Javascript错误.Rollbar正在记录间歇性Javascript错误,并显示消息"Not a Product".对于跟踪,它仅包括:

File "(unknown)" line (unknown) col 0 in [anonymous]
Run Code Online (Sandbox Code Playgroud)

该错误仅发生WindowsMac 上的Chrome 60,61和62上.我们的客户信息和遥测不会暴露任何可能负责的浏览器扩展,但我不知道如何排除这一点.有没有办法解决这个问题,或者我们是否必须假设它是Chrome扩展程序,除非它出现在其他客户端上?

javascript google-chrome-extension rollbar

5
推荐指数
1
解决办法
115
查看次数