calltrace收集查看方法

合集下载

IBM AIX trace工具的介绍和使用

IBM AIX trace工具的介绍和使用

trace工具的介绍和使用环境AIX操作系统问题Trace 主要用来跟踪和记录系统的内核(Kernel)、内核扩展程序(Kernel Extension)和用户程序(User Program),尤其是对系统调用(System Call),内核服务(Kernel Service)和中断处理(Interrupthandlers)进行详细的记录。

它的记录单位是微秒,并按照时间的顺序记录各个事件。

由于Trace记录中所涉及的是操作系统底层事件,因此需要对AIX的内核、系统调用以及中断处理非常了解的人来解读,因此对于普通的系统管理员最重要的是知道如何去收集Trace的信息。

解答 1. Trace 的工作模式Trace 命令有三种工作模式 -- 默认模式、单一模式和循环模式。

默认模式是将Trace数据直接写到磁盘上,而单一模式和循环模式则都是先将Trace数据写到内存的缓冲区,待trace进程终止后再写回到磁盘;不同的是,单一模式是当缓冲区满了后,trace进程会自动停止,并将Trace数据写到磁盘,而在循环模式下,当缓冲区满后,trace进程不会停止,缓冲区会被覆盖并循环使用,只有输入“trcstop”命令后,trace进程才停止,并将Trace数据写到磁盘。

2. Trace的启动和停止启动trace的方法有很多种,用户可参考“man trace”来获得帮助。

这里举一个最常用的收集trace的命令作为例子:trace -a -l -T2000000 -L4000000 -o trace.out(2000000 和 4000000 只是一个例子)-a : 表示trace进程在后台运行(异步运行)-l :表示trace工作在循环模式-o :指定trace输出文件的目录和文件名,默认的输出文件名为 /var/adm/ras/trcfile-T :表示缓冲区的大小,单位为byte,默认值为128KB。

-L :表示写到磁盘上的trace输出文件的大小,单位为byte,默认值为1MB。

一次利用trace文件解决问题的全过程

一次利用trace文件解决问题的全过程

一次利用trace文件解决问题的全过程市三院星期二反映住院医保病人销帐速度很慢,介绍一下解决引问题的全过程,供大家参考。

先给大家介绍一下如何生成trace文件,trace文件包括用户会话所有的SQL语句,执行SQL语句所花的代价,执行计划等重要信息,对于我们诊断问题很有帮助,因本人水平有限,错误之处难免,敬请不吝赐教。

一、生成trace文件方法一:利用pl/sql devoloper工具的跟踪功能。

方法二:利用包dbms_system.set_sql_trace_in_session,需要传入三个参数,sid 会话id,serial# 会话序号,这两个参数可以从v$session中获取,sql_trace是是否开启跟踪,设置为true,例如:例子中跟踪了sid为150,serial为14的用户为zlhis的会话。

SQL> select sid,username,serial# from v$session;SID USERNAME SERIAL#---------- ------------------------------ ----------130 SYS 5131 1143 SYS 38145 1148 1150 ZLHIS9 14SQL> exec dbms_system.set_sql_trace_in_session(sid => 150,serial# => 14,sql_trace => true); PL/SQL procedure successfully completedSQL>二trace文件的格式化生成的trace文件,格式比较乱,需要对它进行格式化,一般使用oracle自带的tkprof命令行工具。

Tkprof工具有很多的参数,我只介绍其中常用的几个参数,更详细的文档请参照相关资料。

命令格式如下:tkprof tracefile outputfile [explain= ] [table= ][print= ] [insert= ] [sys= ] [sort= ]Tracefile为trace文件Outputfile为格化后的输出文件Explain 登录的用户名及密码SYS 是否生成属于SYS用户的信息,一般设置为no例如:tkprof d:\Oracle\Admin\Orcl\udump\ORA00152.TRC c:\333.txt sys=no explain=zlhis9/his 将生成c:\333.txt文件。

Linux Call Trace原理分析

Linux Call Trace原理分析

本文介绍了在Linux环境下根据EABI标准进行call trace调试的一般性原理。

本文所说的call trace是指程序出问题时能把当前的函数调用栈打印出来。

本文只介绍了得到函数调用栈的一般性原理,没有涉及Linux的core dump机制。

下面简单介绍powerpc环境中如何实现call trace。

内核态call trace内核态有三种出错情况,分别是bug,oops和panic。

bug属于轻微错误,比如在spin_lock期间调用了sleep,导致潜在的死锁问题,等等。

oops代表某一用户进程出现错误,需要杀死用户进程。

这时如果用户进程占用了某些信号锁,所以这些信号锁将永远不会得到释放,这会导致系统潜在的不稳定性。

panic是严重错误,代表整个系统崩溃。

OOPS先介绍下oops情况的处理。

Linux oops时,会进入traps.c中的die函数。

int die(const char*str,struct pt_regs*regs,long err)。

show_regs(regs);void show_regs(struct pt_regs*regs)函数中,会调用show_stack函数,这个函数会打印系统的内核态堆栈。

具体原理为:从寄存器里找到当前栈,在栈指针里会有上一级调用函数的栈指针,根据这个指针回溯到上一级的栈,依次类推。

在powerpc的EABI标准中,当前栈的栈底(注意是栈底,不是栈顶,即Frame Header的地址)指针保存在寄存器GPR1中。

在GPR1指向的栈空间,第一个DWORD为上一级调用函数的Frame Header指针(Back Chain Word),第二个DWORD是当前函数在上一级函数中的返回地址(LR Save Word)。

通过此种方式一级级向上回溯,完成整个call dump。

除了这种方法,内建函数__builtin_frame_address函数理论上也应该能用,虽然在内核中没有见到。

trace方法

trace方法

trace方法trace方法是一种非常有用的技术,它可以帮助开发者在程序运行时进行调试和排错。

本文将介绍trace方法的原理、使用方法以及一些实际应用案例。

一、trace方法的原理trace方法是一种在程序运行时输出调试信息的方法。

它通过在代码中插入一些打印语句,记录程序运行过程中的关键信息,以便开发者在调试时查看。

一般来说,trace语句会输出一些变量的值、函数的调用情况、程序的执行路径等信息。

在JavaScript中,我们可以使用console.log()方法来实现trace功能。

console.log()方法可以将指定的信息输出到控制台上,方便开发者进行查看。

例如:console.log('Hello, world!');这条语句会在控制台上输出一个字符串“Hello, world!”。

在实际应用中,我们可以将console.log()语句插入到程序的关键位置,以便跟踪程序的执行过程。

二、trace方法的使用方法在JavaScript中,我们可以使用console.log()方法来实现trace功能。

console.log()方法可以接受多个参数,将它们连接在一起输出。

例如:var name = 'Tom';var age = 18;console.log('My name is', name, 'and I am', age, 'years old.');这条语句会在控制台上输出一个字符串“My name is Tom and I am 18 years old.”。

在实际应用中,我们可以将console.log()语句插入到程序的关键位置,以便跟踪程序的执行过程。

除了console.log()方法外,JavaScript还提供了其他一些trace方法,例如console.debug()、console.warn()和console.error()等。

trace的用法

trace的用法

trace的用法一、什么是Trace?Trace,即追踪,指的是通过查找、记录和分析特定对象或事件的过程。

在计算机技术领域,Trace通常用于跟踪程序的执行路径、系统调用或网络数据包等信息。

二、Trace在软件开发中的应用1. 调试与故障排除在软件开发中,调试和故障排除是一个必不可少的环节。

使用Trace工具可以帮助开发人员追踪程序中出现问题的原因,并根据跟踪结果进行修复。

通过记录程序执行期间的变量值、函数调用关系和异常情况,开发人员可以更轻松地定位代码中出现的bug,并快速解决问题。

2. 性能优化对于需要处理大规模数据或高并发请求的应用程序来说,性能优化是至关重要的。

Trace可以帮助开发人员分析代码运行时的性能瓶颈所在,并找出导致低效率或资源浪费的原因。

例如,通过追踪函数调用次数、耗时以及内存占用情况,可以识别出影响系统性能的瓶颈点,在这些位置进行优化。

3. 用户行为分析对于Web应用程序或移动应用程序来说,了解用户行为是提升用户体验和产品质量的重要途径。

Trace可以帮助开发人员分析用户的操作路径、使用时长等信息,从而了解用户的行为习惯和需求,为产品迭代和功能改进提供依据。

三、常用的Trace工具1. Log4jLog4j是一个Java语言编写的日志记录工具包。

它提供了丰富的日志级别设置,可以在不同场景下灵活地记录应用程序的运行状态。

通过使用Log4j,开发人员可以将Trace信息输出到文件、数据库或者远程服务器,并进行后续的分析和处理。

2. WiresharkWireshark是一款开源网络封包捕获与分析软件。

它能够监控网络接口上发送和接收的数据包,并对数据包进行解码和分析。

Wireshark可以用于跟踪网络流量中的异常请求、疑似攻击等情况,帮助管理员识别和解决网络问题。

3. XdebugXdebug是一个强大的PHP调试器扩展。

它通过在PHP代码中插入特定指令,并与调试客户端(如IDE)配合使用,实现对PHP代码执行过程的追踪、变量查看等功能。

oracle ebs 收集 trace 方法

oracle ebs 收集 trace 方法

oracle ebs 收集trace 方法Oracle EBS 是一款常用的企业资源规划(ERP)系统,用于管理企业的财务、物流、供应链和人力资源等方面的业务。

在使用Oracle EBS 进行故障排查时,收集trace 信息是一种常见的方法。

本文将详细介绍如何收集trace,以及如何分析和利用这些trace 数据解决问题。

一、什么是trace?Trace 是Oracle 数据库中用于跟踪和记录执行过程的一种机制。

通过启用trace 功能,Oracle 数据库可以在执行过程中生成详细的日志,包括SQL 语句、程序调用、执行计划等信息。

这些信息对于分析和解决性能问题非常有帮助。

二、为什么需要收集trace?在Oracle EBS 中,性能问题是常见的挑战之一。

当用户反馈系统运行缓慢或者出现异常时,我们通常需要通过收集trace 数据来了解执行过程中的细节,定位问题的根本原因。

通过收集trace,我们可以获得SQL 语句的执行计划,了解SQL 语句执行时的资源消耗情况,进而分析和优化SQL 语句,提升系统性能。

三、如何收集trace?1. 确定跟踪级别:根据问题的性质,选择合适的跟踪级别。

Oracle 提供了多种级别的trace,如最详细的10046 级别,用于跟踪单个SQL 语句的执行过程;还有更高级别的10053 级别,用于跟踪SQL 语句执行计划的生成过程。

2. 开启trace:可以通过以下方法启用trace 功能:a. 对于单个会话的trace,可以使用ALTER SESSION 命令。

例如,执行`ALTER SESSION SET SQL_TRACE=TRUE;` 开启跟踪,执行`ALTER SESSION SET SQL_TRACE=FALSE;` 关闭跟踪。

b. 对于整个系统的trace,可以在数据库的初始化参数文件中设置`SQL_TRACE=TRUE;` 来开启所有会话的跟踪。

3. 收集trace 文件:在启用trace 后,Oracle 将在指定的位置生成跟踪文件。

TCH拥塞的原理和解决方法(2)

TCH拥塞的原理和解决方法(2)

TCH拥塞的原理和解决方法(2)1.2 话务分布环境这种情况往往是在网络规划时基站选址不当所产生的。

前面提到了TCH拥塞率的概念,它是由TCH占用失败次数除以TCH占用请求次数。

因此当无线信号不好时经常会出现TCH信道占用不上,即会出现TCH拥塞。

需要注意的是这类拥塞并非是TCH信道真的没有资源可以分配了,而是由于无线接口的原因使TCH信道占用不上产生拥塞。

例如在基站覆盖的边缘区域,有用户群村镇存在。

由于在这个区域内,手机所接收到的信号已经非常微弱,同样手机上行的信号也很微弱。

因此在这里手机发起呼叫,很容易产生TCH占用失败的情况,从而造成TCH拥塞。

应当指出的是,此时系统的TCH资源却有可能是很充足的。

解决这类问题需要调整天线的方位角或下倾角,并将基站的静态发射功率开到最大,总之需要增强该区域的信号强度。

另外BSC参数中可适当降低RACH忙门限,来使手机占用TCH信道时尽可能成功,从而减小TCH拥塞率。

若这些方法都不能起到根本作用则需要在该用户群的近处增加基站。

2 设备安装及故障2.1 天馈安装及故障在基站的天馈安装及配置中,有多种情况将会导致TCH占用失败。

1) CDU/SCU配置导致TCH占用失败例如在一个4载频的小区中我们通常会使用CDU+SCU的合路配置方式,经常是BCCH所在的TRX通过CDU上天线,TRX通过SCU 进行合路,然后再通过CDU上天线。

这样BCCH所经过的通道和非BCCH所经过的通道合路损耗就有较大的差别,所以非BCCH所在的信道发射的功率比BCCH所在的信道要小。

在手机发起呼叫时(特别是在离基站较远的时候),若系统给手机指配了非BCCH所在TRX上的TCH信道,则由于它的发射功率很低,就很容易造成TCH信道占用失败。

解决该问题有两种方法一是在配置时BCCH所在的TRX放在经过SCU的通道上,这样它的发射功率相对较小,不会出现指配非BCCH 所在TRX上的TCH信道时出现失败。

TDD-13-1 Call trace功能与操作

TDD-13-1 Call trace功能与操作

Call trace功能介绍1.跟踪类型定义在规范TS32.422和TS32.423中定义了两种类型的call trace: Management Based Trace 和Signaling Based Trace ,Management Based Trace 采集的是eNodeB接口信息,Signaling Based Trace采集的是MME,EPC,以及eNodeB接口信息。

两种方式采集的都是上层信令消息。

eNodeB支持两种跟踪方式,但是一次只能激活一种,Management Based Trace优先级高于Signaling Based Trace。

对于卡特系统,Management Based Trace通过SAM采集,Signaling Based Trace 由MME采集。

2.Management Based Trace涉及的参数定义如下,可以通过SAM或者是WPS设置:TRACE REFERENCE:标识一个trace session的唯一ID号,组成方式:MCC+MNC+Trace ID,对于Signaling Based Trace,Trace ID是激活消息中发给eNodeB。

TRACE Depth:定义call trace采集的信令内容Management Based Trace 又分为两种:cell traffic trace和Event-Based Trace。

两种方式一次只能激活一种。

如果trafficThreshold,rrcReestablishmentThreshold和iratHOThreshold 中任意一个参数值设置不为0,那么默认激活的是Event-Based Trace。

Cell traffic trace记录触发条件:收到RRC Connection Request收到S1接口的handover request收到X2接口的handover request以下情况停止记录:呼叫结束;呼叫从一个小区切换到另一个小区,而另一个小区未开启call trace;呼叫切换到另一个eNodeB;呼叫切换到其它网络;3.Signaling Based Trace只能通过核心网即MME侧激活。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
1在SAM上开启该站的calltrace,方法如下: (2)
2 从服务器上下载calltrace的方法如下: (7)
3用WTA打开calltrace的方法: (9)
1在SAM上开启该站的calltrace,方法如下:
点击配置-移动呼叫跟踪-eNodeB呼叫跟踪会话,在弹出来的会话框里点击创建一个新会话
点击弹出的会话框右上角的添加按钮
在搜索栏输入该站点搜索,选中之后点确定
点击添加小区
全部选中之后点确定
给该会话取一个名字,勾上下面三项点击确定
最后点击激活就能开启这个站的calltrace,根据该站的服务器地址可以到相应的服务器上收取calltrace,如果想关闭,只需要点击激活按钮旁边的Deactivate按钮
2 从服务器上下载calltrace的方法如下:
打开filezille输入对应的calltrace目录地址和用户名密码,点击连接,
输入calltrace的目录/oamdata/tce/lte/CallTrace,选择需要下载的时间-站名进去之后即可把calltrace文件下载到自己的电脑
3用WTA打开calltrace的方法:
打开WTA,点击左上角的file点击new project创建一个新项目
选择calltrace文件,点击打开
点击view-message explorer-Project1/Study1
即可查看calltrace信息。

相关文档
最新文档