찾다
Javajava지도 시간btrace가 생산 결함을 찾는 방법의 예

이 기사에서는 btrace의 생산 결함 찾기 방법에 대한 예를 주로 소개합니다. 이 기사는 샘플 코드를 통해 이를 자세히 소개합니다. 필요한 친구는 아래에서 살펴볼 수 있습니다.

머리말

프로그램 실행에 대해 더 자세한 내용을 알아야 할 경우가 많지만 개발 중에 프로그램의 실행 세부 정보를 모두 인쇄하는 것은 불가능합니다. 일반적으로 이때 할 수 있는 작업은 코드를 수정하고 다시 배포한 다음 다시 관찰하는 것입니다. 참조된 다른 외부 패키지 등과 같이 변경하기 어려운 경우 BTrace는 코드를 변경하거나 애플리케이션을 다시 시작하지 않고도 프로그램 실행 세부 정보를 동적으로 볼 수 있는 도구입니다. 다음 기사에서는 생산 오류를 찾는 btrace 방법을 소개합니다. , 도움이 필요한 친구가 참조할 수 있습니다.

현상

일부 요청은 데이터 액세스 계층을 통해 속도가 매우 느려 처리 스레드가 차단되고 모니터링에서 예외를 감지할 수 없습니다.

btrace 스크립트 작성

@BTrace
public class DBProxyTrace {

 @OnMethod(clazz = "xxx.xxx.QueryHandler", method = "query",
  location = @Location(Kind.RETURN))
 public static void trace2(String sql, @Duration long duration) {
 if (duration/1000000 > 10 * 1000) {
  com.sun.btrace.BTraceUtils.println(duration/1000000 + "ms");
  com.sun.btrace.BTraceUtils.println("this task executes more than 10s. the sql is : "
   + sql);
  com.sun.btrace.BTraceUtils.println("jstack is : ");
  com.sun.btrace.BTraceUtils.jstack();
 }
 }
}

10초 이상 실행되는 SQL 및 스택 정보를 판단합니다.

DBProxyTrace.Java 스크립트를 컴파일하여 스크립트에 문제가 없는지 확인합니다.

./bin/btracec -cp build/ java/DBProxyTrace.java

DBProxyTrace.class 스크립트 실행

./bin/btrace -cp build/ 17342 DBProxyTrace.class

정보

10468ms
this task executes more than 10s. the sql is : rollback
jstack is :
xxx.QueryHandler.query(QueryHandler.java:106)
xxx.net.AbstractConnection.onReadData(AbstractConnection.java:245)
xxx.net.NIOReactor$RW.run(NIOReactor.java:77)
java.lang.Thread.run(Thread.java:745)

포지셔닝

트랜잭션 롤백 차단.

추가 위치 지정을 위해 jstack을 사용하세요.

JVM 스택 인쇄

"$_NIOREACTOR-7-RW" prio=10 tid=0x00007f069856f000 nid=0xde1 waiting for monitor entry [0x00007f0677011000]
 java.lang.Thread.State: BLOCKED (on object monitor)
 at Oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1167)
 - waiting to lock <0x000000068086fbc0> (a oracle.jdbc.driver.T4CConnection)

결론

Blocked The oracle 드라이버 롤백 작업은 실제로 Oracle 드라이버가 직렬 요청 응답을 보장하기 위해 하위 계층에 잠금을 추가하고 이 채널이 느린 명령문에 의해 차단되므로 롤백이 차단되기 때문입니다.

요약

위 내용은 btrace의 생산 결함 찾기 방법 예시 내용입니다. PHP 중국어 웹사이트(www.php .cn)!


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
如何在uniapp中使用地图和定位功能如何在uniapp中使用地图和定位功能Oct 16, 2023 am 08:01 AM

如何在uniapp中使用地图和定位功能一、背景介绍随着移动应用的普及和定位技术的迅猛发展,地图和定位功能已经成为了现代移动应用中不可缺少的一部分。uniapp是一种基于Vue.js开发的跨平台应用开发框架,可以方便开发者在多个平台上共用代码。本文将介绍如何在uniapp中使用地图和定位功能,并提供具体的代码示例。二、使用uniapp-amap组件实现地图功能

如何使用WordPress插件实现即时定位功能如何使用WordPress插件实现即时定位功能Sep 05, 2023 pm 04:51 PM

如何使用WordPress插件实现即时定位功能随着移动设备的普及,越来越多的网站开始提供基于地理位置的服务。在WordPress网站中,我们可以通过使用插件来实现即时定位功能,为访问者提供与地理位置相关的服务。一、选择适合的插件在WordPress插件库中有很多提供地理位置服务的插件可供选择。根据需求和要求,选择适合的插件是实现即时定位功能的关键。以下是几个

解决Go语言开发中的内存泄漏定位问题的方法解决Go语言开发中的内存泄漏定位问题的方法Jul 01, 2023 pm 12:33 PM

解决Go语言开发中的内存泄漏定位问题的方法内存泄漏是程序开发中常见的问题之一。在Go语言开发中,由于其自动垃圾回收机制的存在,内存泄漏问题相对其他语言来说可能较少。然而,当我们面对大型复杂的应用程序时,仍然可能会出现内存泄漏的情况。本文将介绍一些在Go语言开发中定位和解决内存泄漏问题的常用方法。首先,我们需要了解什么是内存泄漏。简单来说,内存泄漏指的是程序中

他趣怎么改定位位置信息   修改所在地址的方法他趣怎么改定位位置信息 修改所在地址的方法Mar 12, 2024 pm 09:52 PM

  我们大家都是非常清楚的知道他趣APP是一款非常可靠的聊天社交的平台,现在都能够让大家好好的进行线上网络交友,这里的一些交友的形式,主要都是让大家进行位置交友的哦,就是这么的简单直接,毕竟这里都能够自动的为你们定位当前的位置信息,更好的为你们匹配到一些距离相近的同城好友,让大家都能更加聊得来,都感到特别的开心,那么很多的一些时候,大家为了想要认识更多一些别的地方的朋友们,都是产生了想要进行地址修改的想法,但是大家不知道该如何修改自己的定位位置的信息,十分困扰,所以本站小编也是收集出来了一些具体

怎样发位置给别人怎样发位置给别人Jun 27, 2023 am 10:13 AM

发位置给别人的方法是:1、使用手机地图发位置,分享界面上选择合适的通讯应用或者社交媒体,将位置信息发送给需要的人;2、使用第三方位置分享工具,实现设备之间的位置共享;3、利用Wi-Fi,蓝牙和Beacon技术发位置。

如何快速定位PHP报错的代码行?如何快速定位PHP报错的代码行?Jul 14, 2023 am 09:34 AM

如何快速定位PHP报错的代码行?在开发PHP项目时,经常会遇到各种报错,这些报错信息对于定位和解决问题非常重要。然而,有时候报错信息并不够详细,只会告诉你出错的文件和行号,而没有具体的错误信息。这给我们定位和解决问题带来了一定的困难。本文将介绍一些方法来帮助我们快速定位PHP报错的具体代码行。启用错误报告首先,我们需要确保错误报告被启用。在PHP代码中,有一

如何在uniapp中实现百度地图定位如何在uniapp中实现百度地图定位Jul 04, 2023 pm 12:07 PM

如何在UniApp中实现百度地图定位引言:UniApp是一款基于Vue.js的开发框架,可以用于快速开发跨平台的应用程序。在今天的数字化时代,地图定位功能已经成为许多应用程序的重要组成部分。本文将教您如何在UniApp中使用百度地图定位功能,并提供相应的代码示例。一、准备工作在开始之前,我们需要进行一些准备工作。首先,您需要在百度开发者平台注册一个开发者账号

响应式布局中使用HTML固定定位的实用技巧响应式布局中使用HTML固定定位的实用技巧Jan 20, 2024 am 09:55 AM

HTML固定定位在响应式布局中的应用技巧,需要具体代码示例随着移动设备的普及和用户对响应式布局的需求增加,开发人员在网页设计中遇到了更多的挑战。其中一个关键问题就是如何实现固定定位,以确保在不同屏幕尺寸下,元素能够固定在页面的特定位置。本文将介绍HTML固定定位在响应式布局中的应用技巧,并提供具体代码示例。HTML中的固定定位是通过CSS的position属

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)