0% found this document useful (0 votes)
157 views

Command Line UEH - Exception Analysis

Command line scripts allow for lightweight, customizable analysis of UEH exceptions and errors from log files without requiring installation. Examples show how to summarize exceptions by occurrence, filter by cell ID, ModMP, or time, and analyze error codes. Updates added new search capabilities for cause codes and improved sorting. Knowledge objects provide additional documentation on related products.

Uploaded by

Marcelo Bl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
157 views

Command Line UEH - Exception Analysis

Command line scripts allow for lightweight, customizable analysis of UEH exceptions and errors from log files without requiring installation. Examples show how to summarize exceptions by occurrence, filter by cell ID, ModMP, or time, and analyze error codes. Updates added new search capabilities for cause codes and improved sorting. Knowledge objects provide additional documentation on related products.

Uploaded by

Marcelo Bl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 16

Command line UEH_Exception analysis

Advantages : Command line scripts are light and quick, do not require any installation and, most of all, they are easily customizable

Customization :
- It can be used with Target Monitor log files or MoShell “te log read”
- Could run the command on some specific Mod only (lh modx ..) or device
- Add a grep to filter on specific Exc Code, CellId, IMSI, etc.
- Edit the sed and awk to print time tags together with filtering the Exc Code allows mapping the progression of Exception occurrence in time; day,
hour, minutes, seconds, ..
- Could be used for RNC_Exception, ERROR, or anything else..

Examples of command line UEH_Exception analysis................................................................................................................................3


- List UEH_Exception per number of occurrences..................................................................................................................................3
- List UEH_Exception with cause code per number of occurrences.......................................................................................................5
- List the exceptions for cellId like "2034" (20341, 20342, 20343, etc.)................................................................................................6
- List UEH_Exception per ModMP.........................................................................................................................................................7
- List the cellId that gets most ExceptionCode = xx................................................................................................................................8
- List the cause code reported for ExceptionCode = xx...........................................................................................................................9
- Print the time distribution of "ExceptionCode = xx" by the hour, by the minute, the seconds, etc...................................................10
ERROR analysis........................................................................................................................................................................................11
- List ERROR by number of occurence.................................................................................................................................................11
- List ERROR by number of occurence and PIU..................................................................................................................................12
Short commands for WinFIOL..................................................................................................................................................................13
Updates :
- 20110209 : Added “cause code” search example.
Added WinFIOL command shortcuts for each example.
- 20110717 : Changed sort order : From largest number to smallest
Improved ERROR analysis
- 20110807 : Added UEH_Exception list with cause code
Fixed some errors.

EKB Knowledge Objects :


- GSDC and PLM for WRAN products : http://knowledgebase.internal.ericsson.com/GSDC%20and%20PLM%20for%20WRAN%20products/Lists/KO/DispForm.aspx?
ID=846

- WRAN SW Deployment and Support : http://knowledgebase.internal.ericsson.com/WRAN%20SW%20Deployment%20and%20Support/Lists/KO/DispForm.aspx?


ID=1738
Examples of command line UEH_Exception analysis
- List UEH_Exception per number of occurrences

> lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = ' | grep
-v UehEventHistoryBufferD | sed 's/(UEH_EXCEPTION) \.\.\/src\///' | sed 's/RncLmUePT//' | sed 's/[0-9]
[0-9][0-9][0-9][: , ]//' | sed 's/\[[0-9][0-9].*\]//' | sed 's/\.cpp:.*ExceptionCode/; ExceptionCode/' |
sed 's/[0-9][0-9]*: //' | sed 's/[0-9][0-9]*\///' | awk 'BEGIN {FS=";"} {printf ("%-30s %-30s %s\n", $1,
$2, $3)}' | sort -n | uniq -c | sort -nrk 1 | head -25

165 UehUeCtxtC ExceptionCode = 594 Received signal initialUeIdCollisionActionReq ..


152 UehRrcConnSetupC ExceptionCode = 521 TIMER rrcSetuptimerId has expired
86 UehUeCtxtC ExceptionCode = 54 Received signal spProcessingFailure on DcsIfEventP
52 UehChSwitchDchToFachC ExceptionCode = 552 TIMER T_CH_SWITCH_1 has expired
36 UehChSwitchDchToFachC ExceptionCode = 54 Received signal spProcessingFailure on DcsIfEventP
16 UehSoftHoC ExceptionCode = 351 Received signal RNSAP RADIO LINK ADDITION FAILURE
13 UehUeCtxtC ExceptionCode = 456 Received signal RANAP Initial Ue Reject
12 UehUeCtxtC ExceptionCode = 276 Security Check failed for Cell or Ura update message
11 UehUeCtxtC ExceptionCode = 712 LOGICAL ERROR IN RNSAP UPLINK SIGNALLING TRANSFER
11 UehUeCtxtC ExceptionCode = 12 Received signal faultyTrBrInd on DrhIfTrBrP
11 UehSoftHoC ExceptionCode = 940 INTERNAL STATE INCOMPATIBLE WITH REQUESTED OPERATION
11 UehRrcConnSetupC ExceptionCode = 54 Received signal spProcessingFailure on DcsIfEventP
10 UehSoftHoC ExceptionCode = 523 TIMER timer_RRC_ASU has expired
8 UehDrncDedChRlAdditionC ..

Some explanations :

lh mod te log read 120 :


- When using MoShell; T&E log from all Modules for the last 120 seconds. Two reasons for the 120 seconds : 1) Avoid that one ModMP that
has several hours worth of Exceptions show as bad as another ModMP that has its T&E log filled by only a few minutes of data. 2) See only
the current situation, very useful to verify the immediate outcome of a recovery procedure.

- When using Trace Server log, this part would be like " cat <file name> " or " tail <file name> ", etc.

$moshelldir/concat_segmented_rlib_traces.pl
- When using MoShell; Call Concatenation script (when using MoShell)
- $Moshell will not work when using Trace Server log, find the appropriate path to the concatenation script
grep UEH_EXCEPTION
- Keep only UEH_Exception lines

grep -v UehEventHistoryBufferD
- Do not keep UEH_Exception history buffer lines
sed 's/(UEH_EXCEPTION) \.\.\/src\///'
- Remove "RncLmUePT(UEH_EXCEPTION) ../src/" strings
sed 's/RncLmUePT//'
- Remove "RncLmUePT" strings
sed 's/[0-9][0-9][0-9][0-9][: , ]//'

sed 's/\.cpp:.*ExceptionCode/; ExceptionCode/'


- Replace ".cpp:n TRACEn: .." strings with ";"
sed 's/\[[0-9]*-[0-9]*-[0-9]* [0-9]*:[0-9]*:[0-9]*.[0-9]*\] //g'
- Remove the date and time string (which has the form [yyyy-mm-dd hh:mm:ss.mmm] )
sed 's/[0-9][0-9]*: //'
sed 's/[0-9][0-9]*\///g'
- Remove the board number. Form "xyza: " seen when using MoShell ter, form "xyzabc/" seen when using Trace Server logs.
awk 'BEGIN { FS = ";" } {printf ("%-30s %-30s %s\n", $1, $2, $3)}'
- Use ";" for field separator and print the first, second and third elements of each line (Process, ExceptionCode = xx and description)
sort -n | uniq -c | sort –nrk 1| head -25
- Count, sort by number of occurrence and print the 25 most common Exceptions
- List UEH_Exception with cause code per number of occurrences
> lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = ' | grep
-v UehEventHistoryBufferD | sed 's/(UEH_EXCEPTION) \.\.\/src\///' | sed 's/RncLmUePT//' | sed 's/[0-9]
[0-9][0-9][0-9][: , ]//' | sed 's/\[[0-9][0-9].*\]//' | sed 's/\.cpp:.*ExceptionCode/; ExceptionCode/' |
sed 's/[0-9][0-9]*: //' | sed 's/[0-9][0-9]*\///' | awk 'BEGIN {FS=";"} {printf ("%-30s %-24s", $1,
$2)} {cc=" -"; for (i=2; i<=NF; i++) if ($i~/(cause.*=|reason)/) cc=$i} {printf ("%-24s", cc)}
{printf ("%s\n", $3)}' | sort -n | uniq -c | sort -nrk 1 | head -25
377 UehChSwitchFachToDchC ExceptionCode = 171 causeCode=4 Received signal admissionRej on ..
334 UehUeCtxtReleaseCoordC ExceptionCode = 223 - Received signal decreaseResourceReq on ..
308 UehRrcConnSetupC ExceptionCode = 171 causecode = 4 Received signal admissionRej on ..
276 UehCompModeStartC ExceptionCode = 171 cause = 9 Received signal admissionRej on ..
251 UehBehaviourBaseProcedure ExceptionCode = 312 - Received signal NBAP RADIO LINK RECONFIGURA ..
170 UehBehaviourBaseProcedure ExceptionCode = 171 causeCode = 1 Received signal admissionRej on ..
133 UehChSwitchFachToDchC ExceptionCode = 171 causeCode=1 Received signal admissionRej on ..
121 UehUeCtxtC ExceptionCode = 407 causecode = 6 Received signal RRC CellUpdate with Failure ..
98 UehBehaviourBaseProcedure ExceptionCode = 310 - Received signal NBAP RADIO LINK SETUP FAILURE
6 UehUeCtxtC ExceptionCode = 12 causecode = 67108971 Received signal faultyTrBrInd on DrhIfTrBrP
6 UehRrcConnSetupC ExceptionCode = 54 causecode = UNDEF Received signal spProcessingFailure on ..
6 UehRrcConnSetupC ExceptionCode = 11 causecode = 67108979 Received signal setupTrBrRej on DrhIfTrBrP
4 UehHsCellChangeC ExceptionCode = 171 reason 25 Received signal admissionRej on ..
..

Some explanations :

awk 'BEGIN {FS=";"} {printf ("%-30s %-24s", $1, $2)}


- Use ";" for field separator and print the first and second elements of each line (Process, ExceptionCode = xx)
{cc=" -"; for (i=2; i<=NF; i++) if ($i~/(cause.*=|reason)/) cc=$i} {printf ("%-24s", cc)} {printf ("%s\n", $3)}'
- Set “cc” = “ -“
- Search for an elements with string “cause” or “reason” in it, set “cc” to that if found
- Print “cc”
- Print Ueh_Exception description
- List the exceptions for cellId like "2034" (20341, 20342, 20343, etc.)

PMR and KPI point to problems in some RBS or some cell in particular and you want to see the UEH_Exception for those only.

> lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep UEH_EXCEPTION | grep -v


UehEventHistoryBufferD | grep 'cellId = 2034' | sed 's/\.cpp:[0-9]* TRACE[0-9]:/;/g' | sed 's/\[[0-9]*-
[0-9]*-[0-9]* [0-9]*:[0-9]*:[0-9]*.[0-9]*\] //g' | sed 's/RncLmUePT(UEH_EXCEPTION) \.\.\/src\///g' | sed
's/[0-9][0-9]*: //g' | sed 's/[0-9][0-9]*\///g' | sed 's/[0-9][0-9]*SP[0-9]//g' | awk 'BEGIN { FS =
";" } {printf ("%-30s %-30s %s\n", $1, $2, $3)}' | sort -n | uniq -c | sort –nrk 1 | head -25

148 UehUeCtxtC ExceptionCode = 54 Received signal spProcessingFailure on DcsIfEventP


88 UehIratCcUtranGsmC ExceptionCode = 512 TIMER cellChangeTimerId has expired
60 UehIratHoUtranGsmC ExceptionCode = 451 Received signal RANAP Relocation Preparation Failure
49 UehRrcConnSetupC ExceptionCode = 521 TIMER rrcSetuptimerId has expired
44 UehIratCcUtranGsmC ExceptionCode = 408 Received signal RRC Cell Change Failure
29 UehChSwitchDchToFachC ExceptionCode = 552 TIMER T_CH_SWITCH_1 has expired
25 UehIratHoUtranGsmC ExceptionCode = 140 Received signal messageReject on UehRanapProcP
17 UehRabHandlingC ExceptionCode = 552 TIMER T_CH_SWITCH_1 has expired
17 UehIratHoUtranGsmC ..

Some explanations : Just added to the initial search a grep for the required cell Id : grep 'cellId = 2034'
- List UEH_Exception per ModMP
This shows if some module or subrack in particular is responsible for most Exceptions

> lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = ' | grep
-v UehEventHistoryBufferD | sed 's/(UEH_EXCEPTION) \.\.\/src\///' | sed 's/RncLmUePT//' | sed
's/\.cpp:.*ExceptionCode/; ExceptionCode/' | sed 's/\[.*\]//' | awk 'BEGIN {FS =";"} {printf ("%-35s %-
24s %s\n", $1, $2, $3)}' | sort -n | uniq -c | sort -nk 2 -nrk 1
28 1217: UehCompModeStartC ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
17 1217: UehBehaviourBaseProcedure ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
15 1217: UehBehaviourBaseProcedure ExceptionCode = 312 Received signal NBAP RADIO LINK RECONFIGURATION FAILURE
4 1217: UehUeCtxtC ExceptionCode = 407 Received signal RRC CellUpdate with Failure Cause
4 1217: UehChSwitchFachToDchC ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
3 1217: UehUeCtxtC ExceptionCode = 54 Received signal spProcessingFailure on DcsIfEventP
3 1217: UehRrcConnSetupC ExceptionCode = 521 TIMER rrcSetuptimerId has expired
..
72 1216: UehUeCtxtReleaseCoordC ExceptionCode = 223 Received signal decreaseResourceReq on RnhIfCellEventP
26 1216: UehChSwitchFachToDchC ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
14 1216: UehRrcConnSetupC ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
2 1216: UehUeCtxtC ExceptionCode = 407 Received signal RRC CellUpdate with Failure Cause
2 1216: UehRrcConnSetupC ExceptionCode = 521 TIMER rrcSetuptimerId has expired
2 1216: UehRabEstComDedC ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
..
36 1215: UehBehaviourBaseProcedure ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
26 1215: UehChSwitchFachToDchC ExceptionCode = 171 Received signal admissionRej on rnhIfCellControlP
3 1215: UehRrcConnSetupC ExceptionCode = 521 TIMER rrcSetuptimerId has expired
3 1215: UehBehaviourBaseProcedure ExceptionCode = 310 Received signal NBAP RADIO LINK SETUP FAILURE
2 1215: UehUeCtxtC ExceptionCode = 54 Received signal spProcessingFailure on DcsIfEventP
..

There are only two differences from the initial script :


1- Do not remove the board string : sed 's/[0-9][0-9]*: //' and sed 's/[0-9][0-9]*\///g' are not used.
2- Do not tail the last 25 lines only : tail -25 not used
- List the cellId that gets ExceptionCode = xx

> lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = xx;' |


sed 's/.*cellId = /cellId = /' | sed 's/;.*//' | sort -n | uniq -c | sort -nrk 1| head -25
141 cellId = 20712
98 cellId = 11891
86 cellId = 12003
82 cellId = 20961
61 cellId = 60153
61 cellId = 12431
57 cellId = 22453
57 cellId = 12152
55 cellId = 12001
..

Some explanations :

grep 'ExceptionCode = 54;'


- Keep all Exception Code 54 lines; notice the use of ";" to avoid keeping codes 54x as well.

sed 's/.*cellId = /cellId = /'


- Remove everything before “cellId”

sed 's/;.*//'
- Remove everything after the “;”

You can use this method to report other thing thancellId : IMSI, causecode, the Connecion Type (connType), etc.
- List the cause code reported for ExceptionCode = xx

> lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = xx' | sed
's/.*; cause/cause/' | sed 's/.*causeCode/causecode/' | sed 's/.*; reason/reason/' | sed 's/;.*//' | sed
's/=/ = /' | sed 's/\ \ /\ /g' | sed 's/\.//' | sort -n | uniq -c | sort -n -k 2,2 | tail -25

167 causecode = 4
95 causecode = 1
32 causecode = 7
24 causecode = 23
16 causecode = 18
13 causecode = 5
8 cause = 9
6 causecode = 9
6 causecode = 22
4 cause = 1
3 reason 23
1 reason 22

Some explanations : The cause code field does not always have the same format so we need to be more carefull :

sed 's/.*; cause/cause/' | sed 's/.*causeCode/causecode/' | sed 's/.*; reason/reason/'


- Remove everything before “; cause”
- Change “causeCode” to “causecode”
- Remove everything before “; reason

sed 's/;.*//' | sed 's/=/ = /' | sed 's/\ \ /\ /g' | sed 's/\.//'
- Remove everything after “;”
- Put one “ “ each side of the “=” sign
- Remove “.”
- Print the time distribution of "ExceptionCode = xx" by the hour, by the minute, the seconds, etc.
Comment: This is useful to find out when some specific UEH_Exception started to happen

> lh mod te log read | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = xx' | sed


's/.*\[//' | sed 's/\..*//' | awk 'BEGIN{FS = ":"} {printf ("%s%s%s\n", $(NF-2) "h", $(NF-1)"m",
$NF"s")}' | sort -n | uniq -c
88 2011-08-08 00h04m20s
75 2011-08-08 00h04m21s
58 2011-08-08 00h04m36s
29 2011-08-08 00h04m37s

We simply need to break the time tag with spaces and print the required field; [2010-11-14 01:52:56.608]

sed 's/.*\[//'
- Remove anything before the time tag.
sed 's/\..*//'
- Remove the milliseconds

awk 'BEGIN{FS = ":"} {printf … }'


- Print the date and required time tags :

by the hour :
{printf ("%s\n", $(NF-2) "h")}'
- Print the only the date and hour tag and append "h"

by the minute :
{printf ("%s%s\n", $(NF-2) "h", $(NF-1)"m")}'
- Print the only the date and hour tag and append "h"
- Print the minute tag and append "m"

by the second :
{printf ("%s%s%s\n", $(NF-2) "h", $(NF-1)"m", $NF"s")}'
- Print the only the date and hour tag and append "h"
- Print the minute tag and append "m"
- print the seconds tag and append "s"
ERROR analysis
Note : All indexes, fro Id, pointers, etc. are replaced by a “x” to count every ERROR type together.

- List ERROR by number of occurence


> lh all te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep "ERROR:" | sed 's/^.*\
[20.*\] //' | sed 's/\.\.\/src\/.*\.cpp:[0-9]*/;/g' | sed 's/[^ ]*\.cc*:[0-9]*/;/g' | sed 's/\:/\;/g' |
sed 's/[0-9][0-9]*/x/g' | awk 'BEGIN {FS = ";"} {printf ("%-40s %-12s %-20s %-10s\n", $1, $2, $3, $4)}'
| sort -n | uniq -c | sort -nrk 1

26 DedicatedChModelPT ERROR spMpModuleId x, cellOrUeId x, rbId x, rbIndex x AcknowledgedMo …


8 DedicatedChModelPT ERROR Can't handle eventResults and measuredResults in the same messag …
4 DedicatedChModelPT ERROR DcsMacData
2 RnhLmCellCPT(rnhAdmC) ERROR RnhAdmCellIubLinkResourceManagerD
1 RnhLmCellCPT(rnhAdmC) ERROR DecreaseResourceUsage Attempt to decrease resource …
1 RnhLmCellCPT(rnhAdmC) ERROR DecreaseResourceUsage Attempt to decrease resource …
1 RncLmUePT(uehUeCtxtC[x]) ERROR Error decoding UL DCCH message.
1 RncLmUePT(UehGRCUtilityC[x]) ERROR umtsCellPtr is NULL
1 RncLmUePT(UehGRCUtilityC[x]) ERROR uehProcedures(x)@waitHsOpStateRsp received unexpected message …

Raw file version :

$ cat <file name> | $moshelldir/concat_segmented_rlib_traces.pl | grep "ERROR:" | sed 's/^.*\[20.*\] //'


| sed 's/\.\.\/src\/.*\.cpp:[0-9]*/;/g' | sed 's/[^ ]*\.cc*:[0-9]*/;/g' | sed 's/\:/\;/g' | sed 's/[0-9]
[0-9]*/x/g' | awk 'BEGIN {FS = ";"} {printf ("%-40s %-10s %-20s %-10s\n", $1, $2, $3, $4)}' | sort -n |
uniq -c | sort -nrk 1
- List ERROR by number of occurence and PIU
> lh all te log read | $moshelldir/concat_segmented_rlib_traces.pl | grep "ERROR:" | sed 's/\[20.*\]
//g'| sed 's/\.\.\/src\/.*\.cpp:[0-9]*/;/g' | sed 's/[^ ]*\.cc*:[0-9]*/;/g' | sed 's/\:/\;/g' | sed 's/
[0-9][0-9]*/x/g2' | awk 'BEGIN {FS = ";"} {printf ("%-10s %-45s %-12s %-10s %10s\n", $1, $2, $3, $4,
$5)}' | sort -n | uniq -c | sort -nk 2 -nrk 1

1 0114 uehUeCtxtC[x] UehUeCtxtC ERROR Error decoding UL DCCH message.


1 0117 uehUeCtxtC[x] UehSignConnIuD ERROR The trigger 'trigNASComplete' was received in the ..
1 0210SPx DedicatedChModelPT DcsMacDHsDownlinkC ERROR MacD unable to get hs data from Rlc !
1 0210SPx DedicatedChModelPT DcsRrcHndlC ERROR Can't handle eventResults and measuredResults in the ..
2 0908SPx DedicatedChModelPT DcsMacDHsDownlinkC ERROR MacD unable to get hs data from Rlc !
2 0908SPx DedicatedChModelPT SpRlcRbC ERROR spMpModuleId x, cellOrUeId x, rbId x, rbIndex x ..
5 1121SPx DedicatedChModelPT DcsMacDHsDownlinkC ERROR MacD unable to get hs data from Rlc !
5 1121SPx DedicatedChModelPT SpRlcRbC ERROR spMpModuleId x, cellOrUeId x, rbId x, rbIndex x ..
1 1122SPx DedicatedChModelPT DcsMacDHsDownlinkC ERROR MacD unable to get hs data from Rlc !
1 1221SPx DedicatedChModelPT DcsMacDHsDownlinkC ERROR MacD unable to get hs data from Rlc !

Use the above examples or adapt them to your needs. Suggestions are welcome.
Short commands for WinFIOL
UEH_Exceptions command line analysis :
======================================

- List UEH_Exception per number of occurrences :

%excall%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = '


| grep -v UehEventHistoryBufferD | sed 's/(UEH_EXCEPTION) \.\.\/src\///' | sed 's/RncLmUePT//' | sed
's/[0-9][0-9][0-9][0-9][: , ]//' | sed 's/\[[0-9][0-9].*\]//' | sed 's/\.cpp:.*ExceptionCode/;
ExceptionCode/' | sed 's/[0-9][0-9]*: //' | sed 's/[0-9][0-9]*\///' | awk 'BEGIN {FS=";"} {printf ("%-
30s %-30s %s\n", $1, $2, $3)}' | sort -n | uniq -c | sort -nrk 1 | head -25

%excallcc%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode =


' | grep -v UehEventHistoryBufferD | sed 's/(UEH_EXCEPTION) \.\.\/src\///' | sed 's/RncLmUePT//' | sed
's/[0-9][0-9][0-9][0-9][: , ]//' | sed 's/\[[0-9][0-9].*\]//' | sed 's/\.cpp:.*ExceptionCode/;
ExceptionCode/' | sed 's/[0-9][0-9]*: //' | sed 's/[0-9][0-9]*\///' | awk 'BEGIN {FS=";"} {printf
("%-30s %-24s", $1, $2)} {cc=" -"; for (i=2; i<=NF; i++) if ($i~/cause.*=/) cc=$i} {printf ("%-
20s", cc)} {printf ("%s\n", $3)}' | sort -n | uniq -c | sort -nrk 1 | head -25

- List UEH_Exception per **ModMP** :

%excmod%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode = '


| grep -v UehEventHistoryBufferD | sed 's/(UEH_EXCEPTION) \.\.\/src\///' | sed 's/RncLmUePT//' | sed
's/\.cpp:.*ExceptionCode/; ExceptionCode/' | sed 's/\[.*\]//' | awk 'BEGIN {FS =";"} {printf ("%-35s
%-24s %s\n", $1, $2, $3)}' | sort -n | uniq -c | sort -nk 2 -nrk 1

- List the **cellId** that gets most ExceptionCode = XX :

%exccid%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode =


171;' | sed 's/.*cellId = /cellId = /' | sed 's/;.*//' | sort -n | uniq -c | sort -nrk 1| head -25
- List the **Cause Code** that gets most ExceptionCode = 171 :

%exccc%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode =


171' | sed 's/.*; cause/cause/' | sed 's/.*causeCode/causecode/' | sed 's/.*; reason/reason/' | sed
's/;.*//' | sed 's/=/ = /' | sed 's/\ \ /\ /g' | sed 's/\.//' | sort -n | uniq -c | sort -nrk 1 | head
-25

- List the **(source) ConnType** that gets most ExceptionCode = 171 :

%excconn1%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode =


171' | sed 's/.*Conntype/Conntype/' | sed 's/.*conntype/Conntype/' | sed 's/.*connType/Conntype/' |
sed 's/;.*//' | sed 's/=/ = /' | sed 's/\ \ /\ /g' | sed 's/\.//' | sort -n | uniq -c | sort -nrk |
head -25

- List the **targetConType** that gets most ExceptionCode = 171 :

%excconn2%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode =


171' | sed 's/.*targetConnType/targetConnType/' | sed 's/.*Target connType/Target connType/' | sed
's/;.*//' | sed 's/=/ = /' | sed 's/\ \ /\ /g' | sed 's/\.//' | sort -n | uniq -c | sort -nrk | head
-25

- List the **Drift RNC id** that gets most ExceptionCode = 350 :

%excdrncid%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode


= 350' | sed 's/.*; drncId/drncId/' | sed 's/;.*//' | sed 's/ =/ = /' | sed 's/\ \ /\ /g' | sed
's/\.//' | sort -n | uniq -c | sort -nrk 1 | head -25

%excdcid%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode


= 350' | sed 's/.*; targetCellId/targetCellId/' | sed 's/;.*//' | sed 's/ =/ = /' | sed 's/\ \ /\ /g'
| sed 's/\.//' | sort -n | uniq -c | sort -nrk 1 | head -25

- Print the **time** distribution of "ExceptionCode = 54" by the hour, by the minute, the seconds,
etc. :
%exctime%lh mod te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep 'ExceptionCode =
' | sed 's/.*\[//' | sed 's/\..*//' | awk 'BEGIN{FS = ":"} {printf ("%s%s%s\n", $(NF-2) "h", $(NF-
1)"m", $NF"s")}' | sort -n | uniq -c

- ERROR analysis :

%error%lh all te log read 120 | $moshelldir/concat_segmented_rlib_traces.pl | grep "ERROR:" | sed


's/^.*\[20.*\] //' | sed 's/\.\.\/src\/.*\.cpp:[0-9]*/;/g' | sed 's/[^ ]*\.cc*:[0-9]*/;/g' | sed
's/\:/\;/g' | sed 's/[0-9][0-9]*/x/g' | awk 'BEGIN {FS = ";"} {printf ("%-40s %-12s %-20s %-10s\n",
$1, $2, $3, $4)}' | sort -n | uniq -c | sort -nrk 1

%errorpiu%lh all te log read | $moshelldir/concat_segmented_rlib_traces.pl | grep "ERROR:" | sed 's/\


[20.*\] //g'| sed 's/\.\.\/src\/.*\.cpp:[0-9]*/;/g' | sed 's/[^ ]*\.cc*:[0-9]*/;/g' | sed 's/\:/\;/g'
| sed 's/[0-9][0-9]*/x/g2' | awk 'BEGIN {FS = ";"} {printf ("%-10s %-45s %-12s %-10s %10s\n", $1, $2,
$3, $4, $5)}' | sort -n | uniq -c | sort -nk 2 -nrk 1

%errorraw%cat <file name>.raw | grep "ERROR:" | sed 's/\[20.*\] //g'| sed 's/\.\.\/src\//;/g' | sed
's/\.cpp:[0-9]*/;/g' | sed 's/\.cc:[0-9]*/;/g' | sed 's/\:/\;/g' | sed 's/[0-9][0-9]*/x/g' | awk
'BEGIN { FS = ";" } {printf ("%-40s %-10s %-20s %-10s \n", $2, $3, $4, $5)}' | sort -n | uniq -c |
sort -nrk 1 | head -25

- UeRegPrint :

%ueregprintDrift%lh ranapmp ueregprint all | awk '/rncModId/,/registered/' | sed 's/^00[0-9][0-9]://'


| awk '{$1<50; $2>10000; print($1, $2, $NF)}' | awk 'BEGIN {FS="[:, ]+"} {if ($3>1000) printf("%10s
%11s %6s\n",$1, $2, $3)}' | sort -nk 1 -nk 3

%ueregprintDrift2%lh ranapmp ueregprint all | awk '/rncModId/,/registered/' | sed 's/^00[0-9][0-9]://'


| awk '{$1<50; $2>10000; print($1, $2, $NF)}' | awk 'BEGIN {FS="[:, ]+"} {if ($3>1000)
printf("%10s\n",$1)}' | sort -c

____________________________________________________________
RÉJEAN DROUIN Ing.
Services Professional
Region North America - Operations

This Communication is Confidential. We only send and receive email on the basis of the terms set out at www.ericsson.com/email_disclaimer

You might also like