vue中生产模式和调试模式

生产调试

为什么在生产中进行调试是如此诱人?

在我的第一份工作中,我要做的任务之一是修复一个错误,该错误过去在非常复杂的生产系统中有时会发生。 那很简单! - 我想。 我将在开发环境中重现同样的情况,找到虚线,实施快速修复,然后完成! 但是,事实证明,无法复制与生产中完全相同的场景-因此一段时间后,我放弃了这个想法。 我被迫花费数天时间分析日志并试图关联许多不同的事件,以弄清可能发生的事情。 很快,我意识到这就像在大海捞针中一样乏味。 经过几天没有结果的结果,我得出的结论是,我需要在这里和那里添加更多的日志记录,然后等待几天甚至几个月,以查看该错误是否再次发生。 然后,我认为,与开发应用程序时使用的复杂工具相比,在生产中寻找错误某种程度上是粗糙的。 您正在实施一项新功能,并且看到服务返回的结果不是您所期望的? 您只需放置几个断点,然后单击“调试”按钮即可! 片刻之后,您确切地知道发生了什么。 在生产环境中做同样的事情很棒吗?

为什么在生产中进行调试是如此困难?

等一会儿! –您可能已经想到了。 但是我们不是在大多数现代IDE中都具有远程调试功能吗? 我们不能像在本地环境中那样仅连接到正在运行的生产应用程序并对其进行调试吗? 尽管有可能,但另一个问题出现了:我们的大多数业务应用程序每秒处理许多请求。 当对应用程序进行远程调试时,没有简单的方法可以控制在任何地方触发的断点。 您可以想象,当我们决定调试它时,我们不想阻止所有用户使用我们的应用程序。 很多时候,我们也不能仅仅强迫我们的应用程序重现昨天发生的错误-有时唯一的方法就是等待直到它再次出现在我们的一个用户身上。 因此,在生产环境中保持远程调试会话而无须严格控制断点的触发方式,就像在森林中放置地雷并邀请我们的用户穿越地雷一样。

最重要的是–一种更安全的方式

FusionReactor是一个应用程序性能监视器,具有许多高级功能,您通常不会在监视解决方案中找到这些功能。 生产调试器是其中之一,该调试器旨在允许您从生产运行时环境中获取底层调试信息。

使用某些传统的调试器时,您将面临的主要问题之一是,一旦设置了断点,它将对跨越代码点的任何线程触发。 FusionReactor通过采用一系列控制断点触发方式的技术来克服这一问题。 例如,它可以限制给定断点将触发的次数(线程),从而解决了影响太多用户的问题。 需要更多控制方式吗? 您甚至可以配置一个断点,以从特定的IP地址(会话)向用户触发,或者在特定变量与值匹配或发生特定异常时触发。 但是,如果在我们团队中没人在看的夜晚触发断点怎么办? FusionReactor允许您定义线程暂停超时,因此,如果您在特定时间内不截取暂停的线程,则调试器将释放锁定并允许线程继续执行。 当与线程限制一起使用时,这可以将可能的影响减少到仅一个线程,并且仅持续n秒。

另一个好处是,FusionReactor可以在触发触发器时发送带有堆栈跟踪和变量的电子邮件。 这为您提供了一种非常灵活,简便的方式来获取大量信息的通知,从而使调试比以往更加容易。

生产中的调试不必太麻烦。 FusionReactor带有完全集成的IDE样式的调试器,该调试器可直接在您的浏览器中运行-无需安装其他胖客户端即可启动远程调试。 一切都是内置的,随时可以使用。

翻译自: https://www.javacodegeeks.com/2018/05/why-debugging-in-production-is-so-tempting.html

vue中生产模式和调试模式

vue中生产模式和调试模式_为什么在生产中进行调试是如此诱人?相关推荐

  1. 日志采样率_为什么要在生产中采样调试日志

    日志采样率 by Yan Cui 崔燕 为什么要在生产中采样调试日志 (Why you should sample debug logs in production) It's com­mon pra ...

  2. selenium自动化测试_为什么在生产中进行Selenium自动化测试对于您的下一个版本至关重要?...

    selenium自动化测试 您是否认为仅仅是因为您的Web应用程序在过渡环境中以飞快的速度通过,它对于生产环境也将是相同的? 您可能需要重新考虑! 特别是,如果我们指的是跨浏览器测试 ,则需要确保跨各 ...

  3. 为什么在生产中进行调试是如此诱人?

    生产调试 为什么在生产中进行调试是如此诱人? 在我的第一份工作中,我要做的任务之一是修复一个错误,该错误过去在非常复杂的生产系统中有时会发生. 很简单! - 我想. 我将在开发环境中重现同样的情况,找 ...

  4. 性能测试测试环境与生产环境_不在生产中测试? 在生产中进行测试!

    性能测试测试环境与生产环境 如果您上一次更新IT安全标准是在5年前或更早,那么它们很可能与当今的DevOps和站点可靠性工程 (SRE)实践的现状不符. 一个特别棘手的话题是生产中的测试,以及因此使用 ...

  5. java 结束调试快捷键_键盘快捷键-Eclipse终止调试/运行的捷径是什么?

    键盘快捷键-Eclipse终止调试/运行的捷径是什么? eclipse中终止调试/运行的快捷方式是什么? 在"首选项"->"键"下查看时,按Ctrl + ...

  6. Vue中3.0版本严格模式运行项目报错

    vue3.0脚手架搭建项目在运行中报错,如下: 造成报错的原因是,vue3.0脚手架搭建项目的时候使用了严格模式 eslint,然后代码中我们使用了换行这些,就会导致项目运行出错 这个时候我们找到pa ...

  7. 怎么看vue中某个插件是否安装成功_如何在谷歌中查看VUEX(谷歌浏览器中安装 vue调试工具 vue-devtools)...

    本次介绍了两种方法,第一种方法略微复杂,想追求效率的请查看第二种. 20200214141007961.png 如果你在使用vue开发项目 浏览器中没有安装vue调试工具 显然不能算是一个合格的vue ...

  8. 如何优雅的在 vue 中使用 非响应式对象_一篇文章上手Vue3中新增的API

    1. 初始化项目 // ① npm i -g @vue/cli // ② vue create my-project // ③ npm install @vue/composition-api -S/ ...

  9. vue中怎么点击修改文字_杭州展馆设计中说明牌和说明文字怎么样才能使用最大化?...

    在杭州绝大多数的展馆中,都会放说明牌和说明文字,这样一来可以对展品进行解释说明让展品更有可读性,二来可以节约运用大量高科技手段带来的成本问题.那么,有一个最大的问题出现了杭州展馆设计中说明牌和说明文字 ...

最新文章

  1. ZOJ2314 Reactor Cooling(无源汇流量有上下界网络的可行流)
  2. oracle定时任务(dbms_job)
  3. ASP.NET Web API 安全筛选器
  4. 对一句正则表达式的理解
  5. php多商户限时抢购,GitHub - 617746883/thinkphp5.0_shop: 基于thinkphp5,多商户商城。积分商城、团购、秒杀、拍卖、夺宝等多插件(持续开发中)...
  6. java 的构造函数修饰符public private protected
  7. R语言ETL工程:分组(group_by)
  8. (转)GB2312简体中文编码表
  9. 用SPSS进行描述性分析
  10. 程序员跟产品经理打起来了,事情的真相是...
  11. 办公必备计算机软件,推荐8个职场办公的必备软件,每一个都能让你有所收获!...
  12. 51编写你值得注意的那些事
  13. 某公司服务器故障导致数据库文件丢失的恢复过程
  14. 2021年中国内地城市地铁客流量排行榜:北上广深日均客运量超500万人次,深圳客流强度最大(附年榜TOP43详单)
  15. Android自定义文本输入框光标颜色
  16. 两维天线阵列波束成型原理Python代码
  17. DB2 DMS表空间大小限制
  18. bigsur与鸿蒙os,macOS Big Sur支持机型有哪些
  19. modelsim的基本使用
  20. BURG 引导也疯狂

热门文章

  1. 【每日一题】8月12日题目精讲 Mr. Kitayuta, the Treasure Hunter
  2. Secret Code(原题和变形题)
  3. 【学习笔记】整体二分
  4. CF720C Homework(构造)(暴力)
  5. YbtOJ-方格填写【插头dp】
  6. 【树链剖分】春季大扫除(P6805)
  7. 2017西安交大ACM小学期数论 [等差数列]
  8. 10、使用ws调用Rest api
  9. Sentinel(十五)之在生产环境中使用 Sentinel
  10. 从NIO到Netty开发