author | Matti Laitinen <matti.t.laitinen@nokia.com> |
Tue, 24 Aug 2010 12:10:03 +0300 | |
changeset 14 | bb339882c6e9 |
parent 7 | 8e12a575a9b5 |
permissions | -rw-r--r-- |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
1 |
/* |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
2 |
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
3 |
* All rights reserved. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
8 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
9 |
* Initial Contributors: |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
11 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
12 |
* Contributors: |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
13 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
14 |
* Description: |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
15 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
16 |
*/ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
17 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
18 |
package com.nokia.s60tools.memspy.model; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
19 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
20 |
import java.io.File; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
21 |
import java.io.FileWriter; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
22 |
import java.io.IOException; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
23 |
import java.io.PrintWriter; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
24 |
import java.util.ArrayList; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
25 |
import java.util.regex.Pattern; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
26 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
27 |
import com.nokia.s60tools.memspy.containers.ThreadInfo; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
28 |
import com.nokia.s60tools.memspy.export.ITraceDataProcessor; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
29 |
import com.nokia.s60tools.memspy.interfaces.IMemSpyTraceListener.LauncherErrorType; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
30 |
import com.nokia.s60tools.memspy.util.MemSpyConsole; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
31 |
import com.nokia.s60tools.util.debug.DbgUtility; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
32 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
33 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
34 |
* Monitors data received from TraceCore and acts based on it. |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
35 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
36 |
public final class TraceCoreDataHandler implements ITraceDataProcessor { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
37 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
38 |
// Count of lines |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
39 |
private int lineCount; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
40 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
41 |
// boolean value that is used when parsing thread list |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
42 |
private boolean lastWasName; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
43 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
44 |
// Array, where found thread names and id's are written |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
45 |
private ArrayList<ThreadInfo> threadArray = null; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
46 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
47 |
// ThreadInfo-object where info is collected |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
48 |
private ThreadInfo threadInfo; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
49 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
50 |
// boolean value that is set to true, when trace-lines are lost |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
51 |
private boolean dumpedTraces; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
52 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
53 |
// boolean value that is set to false, when heap type is not symbian OS |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
54 |
// Rheap |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
55 |
private boolean heapTypeCorrect; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
56 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
57 |
// boolean value that is true when some information is written to file |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
58 |
private boolean writeFile; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
59 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
60 |
// boolean value that true when file is open |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
61 |
private boolean fileOpen; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
62 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
63 |
// Writer that writes to file |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
64 |
private PrintWriter plainOutput; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
65 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
66 |
// Writer that writes to file |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
67 |
private PrintWriter swmtHeadDumpOutput = null; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
68 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
69 |
// boolean value that is true when some memspy operations are on-going. |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
70 |
private boolean logging; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
71 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
72 |
// Trace engine. |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
73 |
private TraceCoreEngine engine; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
74 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
75 |
// Strings |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
76 |
private final static String LAUNCHER_READY = "<MEMSPY_LAUNCHER_READY>"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
77 |
private final static String MEMSPY_LAUNCHER_VERSION_PREFIX = "<MEMSPY_LAUNCHER_DATAVERSION=";// e.g. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
78 |
// <MEMSPY_LAUNCHER_VERSION=1> |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
79 |
private final static String END_TAG = ">"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
80 |
private final static String LAUNCHER_COLON = "::"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
81 |
private final static String LAUNCHER_THREAD_ID = "Thread Id"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
82 |
private final static String LAUNCHER_TYPE = "Type:"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
83 |
private final static String LAUNCHER_SYMBIAN_OS_RHEAP = "Symbian OS RHeap"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
84 |
private final static String LAUNCHER_SYMBIAN_OS_RHYBRIDHEAP = "Symbian OS RHybridHeap"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
85 |
private final static String LAUNCHER_HEAP_DUMP_START = "<MEMSPY_HEAP_DATA"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
86 |
private final static String LAUNCHER_HEAP_DUMP_END = "</MEMSPY_HEAP_DATA"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
87 |
// Heap info's will act as start point for new Head dump, when Head Dumps |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
88 |
// are received during SWMT logging |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
89 |
// E.g. following Heap info is received: |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
90 |
// HeapData - mc_isiserver::Main - HEAP INFO FOR THREAD 'mc_isiserver::Main' |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
91 |
private final static String LAUNCHER_HEAP_INFO_FOR_THREAD = "HEAP INFO FOR THREAD"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
92 |
private final static String LAUNCHER_HEAPDATA = "HeapData -"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
93 |
private final static String LAUNCHER_ERROR = "<MEMSPY_LAUNCHER_ERROR>"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
94 |
private final static String DUMPED_TC_TRACES = "* Dumped Traces"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
95 |
private final static String MEMSPY_PROGRESS = "<MEMSPY_PROGRESS>"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
96 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
97 |
/** |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
98 |
* <code>SYSTEM WIDE MEMORY TRACKER<code> tag |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
99 |
*/ |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
100 |
public final static String LAUNCHER_SWMT_LOG_START = "<SYSTEM WIDE MEMORY TRACKER>"; |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
101 |
|
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
102 |
private final static String LAUNCHER_SWMT_LOG_END = "</SYSTEM WIDE MEMORY TRACKER>"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
103 |
private final static String LAUNCHER_SWMTDATA = "[SMT "; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
104 |
private final static String LAUNCHER_CATEGORY_NOT_SUPPORTED = "<MEMSPY_LAUNCHER_CATEGORY_NOT_SUPPORTED>"; |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
105 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
106 |
private ThreadInfo swmtHeadDumpThreadInfo; |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
107 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
108 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
109 |
* Constructor. |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
110 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
111 |
* @param engine |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
112 |
* engine that uses handler |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
113 |
*/ |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
114 |
public TraceCoreDataHandler(TraceCoreEngine engine) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
115 |
this.engine = engine; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
116 |
lastWasName = false; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
117 |
heapTypeCorrect = false; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
118 |
writeFile = false; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
119 |
lineCount = 0; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
120 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
121 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
122 |
/** |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
123 |
* Method that is called when trace logging is started. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
124 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
125 |
* @param fName |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
126 |
* Name of the file, where needed information is printed. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
127 |
* @param fileOpen |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
128 |
* boolean value that is true when file needs to be opened. |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
129 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
130 |
public boolean startLogging(String fName, boolean fileOpen) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
131 |
logging = true; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
132 |
lineCount = 0; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
133 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
134 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
135 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
136 |
DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
137 |
"TraceCoreDataHandler.startLogging/fName=" + fName + ", fileOpen=" + fileOpen); //$NON-NLS-1$ //$NON-NLS-2$ |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
138 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
139 |
// If file needs to be opened, open it. |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
140 |
this.fileOpen = fileOpen; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
141 |
if (fileOpen) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
142 |
try { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
143 |
plainOutput = new PrintWriter(new FileWriter(fName)); |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
144 |
} catch (IOException e) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
145 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
146 |
engine.launcherError(LauncherErrorType.FILE); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
147 |
return false; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
148 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
149 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
150 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
151 |
return true; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
152 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
153 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
154 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
155 |
* Stops logging and closes file if needed. |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
156 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
157 |
public void stopLogging() { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
158 |
DbgUtility.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
159 |
"TraceCoreDataHandler.stopLogging"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
160 |
this.logging = false; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
161 |
if (this.fileOpen) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
162 |
plainOutput.flush(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
163 |
plainOutput.close(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
164 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
165 |
stopSWMTHeadDumpLogging(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
166 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
167 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
168 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
169 |
* Flush and Close swmtHeadDumpOutput |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
170 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
171 |
private void stopSWMTHeadDumpLogging() { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
172 |
if (swmtHeadDumpOutput != null) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
173 |
swmtHeadDumpOutput.flush(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
174 |
swmtHeadDumpOutput.close(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
175 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
176 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
177 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
178 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
179 |
* Open FileWriter for swmtHeadDumpOutput |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
180 |
*/ |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
181 |
private void startSWMTHeadDumpLogging() { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
182 |
try { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
183 |
File file = new File(swmtHeadDumpThreadInfo.getThreadFilePath()); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
184 |
File path = file.getParentFile(); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
185 |
if (!path.exists()) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
186 |
path.mkdirs(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
187 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
188 |
file.createNewFile(); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
189 |
if (swmtHeadDumpThreadInfo != null) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
190 |
swmtHeadDumpOutput = new PrintWriter(new FileWriter( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
191 |
swmtHeadDumpThreadInfo.getThreadFilePath())); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
192 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
193 |
} catch (IOException e) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
194 |
engine.launcherError(LauncherErrorType.FILE); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
195 |
} |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
196 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
197 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
198 |
/** |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
199 |
* Processes trace data that is received. This method is called every time |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
200 |
* trace data is received when logging is on. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
201 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
202 |
* @param traceLineStr |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
203 |
* trace data line |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
204 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
205 |
public void processDataLine(String traceLineStr) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
206 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
207 |
if (logging) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
208 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
209 |
if (traceLineStr != null) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
210 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
211 |
if (isMemSpyRelatedLine(traceLineStr)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
212 |
lineCount++; |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
213 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
214 |
// Reset timer every 10 MemSpy related lines. |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
215 |
if (lineCount > 10) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
216 |
engine.restartErrorTimer(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
217 |
lineCount = 0; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
218 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
219 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
220 |
// If Line contains launcher error message |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
221 |
if (traceLineStr.contains(LAUNCHER_ERROR)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
222 |
handleLauncherErrorLine(traceLineStr); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
223 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
224 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
225 |
// If line contains message of dumped traces |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
226 |
else if (traceLineStr.contains(DUMPED_TC_TRACES)) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
227 |
handleDumpTCTracesLine(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
228 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
229 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
230 |
// If line contains confirmation that Launcher is ready to |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
231 |
// receive new command |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
232 |
else if (traceLineStr.contains(LAUNCHER_READY)) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
233 |
handleLauncherReadyLine(); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
234 |
} else if (traceLineStr |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
235 |
.contains(MEMSPY_LAUNCHER_VERSION_PREFIX)) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
236 |
handleLauncherVersionLine(traceLineStr); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
237 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
238 |
// If launcher sends an progress message, restarting error timer |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
239 |
// so the timer wont reset progress |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
240 |
// this is done because of long taking progress was causing time |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
241 |
// outs. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
242 |
else if (traceLineStr.contains(MEMSPY_PROGRESS)) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
243 |
engine.restartErrorTimer(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
244 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
245 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
246 |
// If receiving heap dump |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
247 |
else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_GET_HEAP_DUMP) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
248 |
handleHeadDumpLine(traceLineStr); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
249 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
250 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
251 |
// If receiving SWMT log |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
252 |
else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_SWMT_UPDATE |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
253 |
|| engine.getFirstTask() == TraceCoreEngine.MEMSPY_SWMT_RESET) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
254 |
handleSWMTLine(traceLineStr); |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
255 |
} |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
256 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
257 |
// If receiving thread info |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
258 |
else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_THREAD_INFO) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
259 |
handleThreadInfoLine(traceLineStr); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
260 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
261 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
262 |
// Setting SWMT category low bits |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
263 |
else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_SET_CATEGORIES_LOW) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
264 |
handleCategoriesLowLine(traceLineStr); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
265 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
266 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
267 |
// Setting SWMT category high bits |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
268 |
else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_SET_CATEGORIES_HIGH) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
269 |
handleCategoriesHighLine(traceLineStr); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
270 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
271 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
272 |
// If Receiving thread list |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
273 |
else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_THREAD_LIST) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
274 |
handleThreadListLine(traceLineStr); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
275 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
276 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
277 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
278 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
279 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
280 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
281 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
282 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
283 |
* Checks that line has something to do with MemSpy related data. |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
284 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
285 |
* @param str |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
286 |
* line sting |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
287 |
* @return <code>true</code> if MemSpy related data, otherwise |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
288 |
* <code>false</code>. |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
289 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
290 |
private boolean isMemSpyRelatedLine(String str) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
291 |
return str.contains("HeapData") || str.contains("MemSpy"); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
292 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
293 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
294 |
private void handleLauncherVersionLine(String str) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
295 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
296 |
.println(DbgUtility.PRIORITY_LOOP, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
297 |
"TraceCoreDataHandler.processData/MEMSPY_LAUNCHER_VERSION_PREFIX"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
298 |
String version = cutString(MEMSPY_LAUNCHER_VERSION_PREFIX, END_TAG, str); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
299 |
engine.setMemSpyLauncherVersion(version); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
300 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
301 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
302 |
private void handleLauncherReadyLine() { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
303 |
DbgUtility.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
304 |
"TraceCoreDataHandler.processData/LAUNCHER_READY"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
305 |
engine.memSpyReady(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
306 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
307 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
308 |
private void handleDumpTCTracesLine() { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
309 |
DbgUtility.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
310 |
"TraceCoreDataHandler.processData/DUMPED_TC_TRACES"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
311 |
this.dumpedTraces = true; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
312 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
313 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
314 |
private void handleLauncherErrorLine(String str) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
315 |
DbgUtility.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
316 |
"TraceCoreDataHandler.processData/LAUNCHER_ERROR"); //$NON-NLS-1$ |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
317 |
if (str.contains("'")) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
318 |
str = str.substring(str.indexOf("'") + 1); |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
319 |
if (str.contains("'")) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
320 |
String error = str.substring(0, str.indexOf("'")); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
321 |
LauncherErrorType type = getErrorById(error); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
322 |
engine.launcherError(type); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
323 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
324 |
} else { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
325 |
// If no error code present, then parsing custom error message and |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
326 |
// sending information to console |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
327 |
String additionalErrorInfo = ""; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
328 |
// Getting error message string portion |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
329 |
String[] splitArr = str.split(Pattern.quote(":")); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
330 |
if (splitArr.length == 2) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
331 |
additionalErrorInfo = additionalErrorInfo + splitArr[1].trim(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
332 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
333 |
// Passing launcher error forwards generic launcher error |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
334 |
engine.launcherError(LauncherErrorType.GENERAL_LAUNCHER_ERROR, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
335 |
additionalErrorInfo); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
336 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
337 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
338 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
339 |
private void handleThreadListLine(String str) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
340 |
// If line contains "::" create new ThreadInfo-object |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
341 |
if (str.contains(LAUNCHER_COLON)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
342 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
343 |
threadInfo = new ThreadInfo(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
344 |
threadInfo.setThreadName(str); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
345 |
lastWasName = true; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
346 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
347 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
348 |
|
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
349 |
// Save threadID into latest ThreadInfo-object and add info into thread |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
350 |
// list |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
351 |
if (str.contains(LAUNCHER_THREAD_ID)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
352 |
if (lastWasName) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
353 |
String threadID = str.substring(str.indexOf(LAUNCHER_THREAD_ID) |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
354 |
+ LAUNCHER_THREAD_ID.length()); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
355 |
threadID = threadID.trim(); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
356 |
threadInfo.setThreadID(threadID); |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
357 |
threadArray.add(threadInfo); |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
358 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
359 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
360 |
DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
361 |
"TraceCoreDataHandler.processData/LAUNCHER_THREAD_ID/id=" + threadInfo.getThreadID() + ", name=" + threadInfo.getThreadName()); //$NON-NLS-1$ //$NON-NLS-2$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
362 |
lastWasName = false; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
363 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
364 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
365 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
366 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
367 |
private void handleCategoriesHighLine(String str) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
368 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
369 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
370 |
DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
371 |
"TraceCoreDataHandler.processData/MEMSPY_SET_CATEGORIES_HIGH: " + str); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
372 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
373 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
374 |
private void handleCategoriesLowLine(String str) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
375 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
376 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
377 |
DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
378 |
"TraceCoreDataHandler.processData/MEMSPY_SET_CATEGORIES_LOW: " + str); //$NON-NLS-1$ |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
379 |
if (str.contains(LAUNCHER_CATEGORY_NOT_SUPPORTED)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
380 |
// LAUNCHER_CATEGORY_NOT_SUPPORTED error |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
381 |
engine.launcherError(LauncherErrorType.CATEGORIES_NOT_SUPPORTED); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
382 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
383 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
384 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
385 |
private void handleThreadInfoLine(String str) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
386 |
// Check for threads heap type |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
387 |
if (str.contains(LAUNCHER_TYPE)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
388 |
if (str.contains(LAUNCHER_SYMBIAN_OS_RHEAP) |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
389 |
|| str.contains(LAUNCHER_SYMBIAN_OS_RHYBRIDHEAP)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
390 |
DbgUtility.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
391 |
"TraceCoreDataHandler.processData/MEMSPY_THREAD_INFO"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
392 |
heapTypeCorrect = true; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
393 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
394 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
395 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
396 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
397 |
private void handleSWMTLine(String str) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
398 |
// Check for start tag |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
399 |
if (str.contains(LAUNCHER_SWMT_LOG_START)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
400 |
DbgUtility.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
401 |
"TraceCoreDataHandler.processData/LAUNCHER_SWMT_LOG_START"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
402 |
this.writeFile = true; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
403 |
engine.restartErrorTimer(); // Resetting error time instantly when |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
404 |
// getting start event of the logging |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
405 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
406 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
407 |
// If writing to file |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
408 |
if (this.writeFile && str.contains(LAUNCHER_SWMTDATA)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
409 |
this.writeLine(str); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
410 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
411 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
412 |
// If we receive a Heap Dump line during SWMT logging |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
413 |
if (this.writeFile |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
414 |
&& (str.contains(LAUNCHER_HEAPDATA) |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
415 |
|| str.contains(LAUNCHER_HEAP_DUMP_START) || str |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
416 |
.contains(LAUNCHER_HEAP_DUMP_END))) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
417 |
handleHeapDumpDuringSWMTLogging(str); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
418 |
} |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
419 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
420 |
// Check for end tag |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
421 |
if (str.contains(LAUNCHER_SWMT_LOG_END)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
422 |
DbgUtility.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
423 |
"TraceCoreDataHandler.processData/LAUNCHER_SWMT_LOG_END"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
424 |
this.writeFile = false; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
425 |
engine.restartErrorTimer(); // Resetting error time instantly when |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
426 |
// getting end event of the logging |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
427 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
428 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
429 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
430 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
431 |
* Handling a Heap Dump line during SWMT logging |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
432 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
433 |
* @param str |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
434 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
435 |
private void handleHeapDumpDuringSWMTLogging(String str) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
436 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
437 |
// If we receiving a start point of Dump.. |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
438 |
if (str.contains(LAUNCHER_HEAP_DUMP_START)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
439 |
DbgUtility.println(DbgUtility.PRIORITY_LOOP, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
440 |
"TraceCoreDataHandler.processData/Start SWMT Head Dump"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
441 |
swmtHeadDumpThreadInfo = new ThreadInfo(); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
442 |
if (threadArray == null) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
443 |
setThreadArray(new ArrayList<ThreadInfo>()); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
444 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
445 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
446 |
// If we receiving a Thread name of Dump, we create a new file for dump, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
447 |
// and start dumping it |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
448 |
else if (str.contains(LAUNCHER_HEAP_INFO_FOR_THREAD)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
449 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
450 |
String threadName = getThreadNameFromInfo(str); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
451 |
swmtHeadDumpThreadInfo.setThreadName(threadName); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
452 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
453 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
454 |
DbgUtility.PRIORITY_LOOP, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
455 |
"TraceCoreDataHandler.processData/SWMT Head Dump Thread name received: " + threadName); //$NON-NLS-1$ |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
456 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
457 |
// String threadName, String threadID, String threadFilePath, Date |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
458 |
// date, HeapDumpType type |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
459 |
// Get file name for heap dump from engine |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
460 |
String filePath = MemSpyFileOperations.getFileNameForTempHeapDump( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
461 |
swmtHeadDumpThreadInfo.getThreadName(), |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
462 |
swmtHeadDumpThreadInfo.getDate()); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
463 |
swmtHeadDumpThreadInfo.setThreadFilePath(filePath); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
464 |
startSWMTHeadDumpLogging(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
465 |
writeSWMTHeadDumpLine(str); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
466 |
|
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
467 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
468 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
469 |
DbgUtility.PRIORITY_LOOP, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
470 |
"TraceCoreDataHandler.processData/SWMT Head Dump Thread file created: " + filePath); //$NON-NLS-1$ |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
471 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
472 |
// Heap info's will act as start point for new Head dump, when Head |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
473 |
// Dumps are received during SWMT logging |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
474 |
// E.g. following Heap info is received: |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
475 |
// HeapData - mc_isiserver::Main - HEAP INFO FOR THREAD |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
476 |
// 'mc_isiserver::Main' |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
477 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
478 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
479 |
// If we receiving a end point of Dump... |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
480 |
else if (str.contains(LAUNCHER_HEAP_DUMP_END)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
481 |
DbgUtility.println(DbgUtility.PRIORITY_LOOP, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
482 |
"TraceCoreDataHandler.processData/End SWMT Head Dump"); //$NON-NLS-1$ |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
483 |
threadArray.add(swmtHeadDumpThreadInfo); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
484 |
stopSWMTHeadDumpLogging(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
485 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
486 |
|
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
487 |
// Else we receiving a dump line, and writing it to the Dump file, not |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
488 |
// to SWMT file |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
489 |
else if (swmtHeadDumpThreadInfo != null && swmtHeadDumpOutput != null) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
490 |
writeSWMTHeadDumpLine(str); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
491 |
} else { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
492 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
493 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
494 |
DbgUtility.PRIORITY_LOOP, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
495 |
"TraceCoreDataHandler.processData/LAUNCHER_HEAPDATA & MEMSPY_SWMT_UPDATE unknown line occured: " |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
496 |
+ str); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
497 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
498 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
499 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
500 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
501 |
* Get Thread name from Heap Info line |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
502 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
503 |
* @param str |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
504 |
* @return Thread name |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
505 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
506 |
private String getThreadNameFromInfo(String str) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
507 |
String name = str |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
508 |
.substring((str.indexOf(LAUNCHER_HEAP_INFO_FOR_THREAD) + LAUNCHER_HEAP_INFO_FOR_THREAD |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
509 |
.length())); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
510 |
String separator = "'"; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
511 |
name = name.substring((name.indexOf(separator) + separator.length()), |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
512 |
name.lastIndexOf(separator)).trim(); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
513 |
return name; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
514 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
515 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
516 |
private void handleHeadDumpLine(String str) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
517 |
// Check for heap end tag |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
518 |
if (str.contains(LAUNCHER_HEAP_DUMP_END)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
519 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
520 |
.println(DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
521 |
"TraceCoreDataHandler.processData/MEMSPY_GET_HEAP_DUMP/LAUNCHER_HEAP_DUMP_END"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
522 |
this.writeFile = false; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
523 |
} |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
524 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
525 |
// If writing to file |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
526 |
if (this.writeFile && str.contains(LAUNCHER_HEAPDATA)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
527 |
this.writeLine(str); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
528 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
529 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
530 |
// Check for heap start tag |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
531 |
if (str.contains(LAUNCHER_HEAP_DUMP_START)) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
532 |
DbgUtility |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
533 |
.println( |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
534 |
DbgUtility.PRIORITY_OPERATION, |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
535 |
"TraceCoreDataHandler.processData/MEMSPY_GET_HEAP_DUMP/LAUNCHER_HEAP_DUMP_START"); //$NON-NLS-1$ |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
536 |
this.writeFile = true; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
537 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
538 |
} |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
539 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
540 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
541 |
* Cut string from startTag to endTag |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
542 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
543 |
* @param startTag |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
544 |
* @param endTag |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
545 |
* @param str |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
546 |
* @return cutted string or str given if start and end tags does not found |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
547 |
* from given str |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
548 |
*/ |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
549 |
private static String cutString(String startTag, String endTag, String str) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
550 |
if (!str.contains(startTag) && !str.contains(endTag)) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
551 |
return str; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
552 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
553 |
String ret = str.substring(str.indexOf(startTag) + startTag.length()); |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
554 |
ret = ret.substring(0, ret.indexOf(endTag)); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
555 |
return ret; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
556 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
557 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
558 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
559 |
* Writes one line into opened file. |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
560 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
561 |
* @param line |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
562 |
* , Line that is written to file |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
563 |
*/ |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
564 |
private void writeLine(String line) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
565 |
plainOutput.write(line + "\n"); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
566 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
567 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
568 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
569 |
* Writes one line into opened file. |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
570 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
571 |
* @param line |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
572 |
* , Line that is written to file |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
573 |
*/ |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
574 |
private void writeSWMTHeadDumpLine(String line) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
575 |
swmtHeadDumpOutput.write(line + "\n"); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
576 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
577 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
578 |
// |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
579 |
// Getters and setters for member variables |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
580 |
// |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
581 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
582 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
583 |
* Set thread array |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
584 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
585 |
* @param threadArray |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
586 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
587 |
public void setThreadArray(ArrayList<ThreadInfo> threadArray) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
588 |
this.threadArray = threadArray; |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
589 |
} |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
590 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
591 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
592 |
* Check if {@link TraceCoreDataHandler#LAUNCHER_COLON} was found in line |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
593 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
594 |
* @param lastWasName |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
595 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
596 |
public void setLastWasName(boolean lastWasName) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
597 |
this.lastWasName = lastWasName; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
598 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
599 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
600 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
601 |
* Check if heap type was correct |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
602 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
603 |
* @return <code>true</code> if heap type was correct, <code>false</code> |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
604 |
* otherwise. |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
605 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
606 |
public boolean isHeapTypeCorrect() { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
607 |
return heapTypeCorrect; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
608 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
609 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
610 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
611 |
* Set heap type as correct |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
612 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
613 |
* @param heapTypeCorrect |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
614 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
615 |
public void setHeapTypeCorrect(boolean heapTypeCorrect) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
616 |
this.heapTypeCorrect = heapTypeCorrect; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
617 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
618 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
619 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
620 |
* Set dump traces |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
621 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
622 |
* @param dumpedTraces |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
623 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
624 |
public void setDumpedTraces(boolean dumpedTraces) { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
625 |
this.dumpedTraces = dumpedTraces; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
626 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
627 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
628 |
/** |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
629 |
* Check if trace was containing |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
630 |
* {@link TraceCoreDataHandler#DUMPED_TC_TRACES} lines |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
631 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
632 |
* @return <code>true</code> if dumped lines was found, <code>false</code> |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
633 |
* otherwise. |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
634 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
635 |
public boolean isDumpedTraces() { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
636 |
return dumpedTraces; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
637 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
638 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
639 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
640 |
* Returns {@link LauncherErrorType} by its ordinal |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
641 |
* |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
642 |
* @param errorCodeAsString |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
643 |
* Error number as string |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
644 |
* @return {@link LauncherErrorType} or {@link LauncherErrorType#ACTIVATION} |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
645 |
* if no matching item found. |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
646 |
*/ |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
647 |
private LauncherErrorType getErrorById(String errorCodeAsString) { |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
648 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
649 |
try { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
650 |
int errorCode = Integer.parseInt(errorCodeAsString); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
651 |
LauncherErrorType[] values = LauncherErrorType.values(); |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
652 |
for (int i = 0; i < values.length; i++) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
653 |
if (errorCode == values[i].ordinal()) { |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
654 |
return values[i]; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
655 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
656 |
} |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
657 |
} catch (NumberFormatException e) { |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
658 |
// If occurs, it's an internal error, MemSpy S60 side is giving id |
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
659 |
// in wrong format. |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
660 |
e.printStackTrace(); |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
661 |
MemSpyConsole.getInstance().printStackTrace(e); |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
662 |
} |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
663 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
664 |
return LauncherErrorType.ACTIVATION; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
665 |
} |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
666 |
|
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
667 |
/** |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
668 |
* Get imported SWMT Heap Dumps |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
669 |
* |
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
670 |
* @return imported SWMT Heap Dumps |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
671 |
*/ |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
672 |
public ArrayList<ThreadInfo> getImportedSWMTHeaps() { |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
673 |
return threadArray; |
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
674 |
} |
14
bb339882c6e9
MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
7
diff
changeset
|
675 |
|
7
8e12a575a9b5
MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
676 |
} |