Analysis
The Analysis menu has two screens for searching and digging into data from the past. Where the dashboards show what is happening now, the analysis screens answer what was slow back then and where the time went.
| Menu | What it is for |
|---|---|
| X-View | Search transactions by period and conditions, see their distribution, and group them by application, user or GUID |
| Stacktrace Flight Recorder | Gather collected stack trace samples to see which methods took the time |
Both screens work on the first domain group the profile's console account can see (SFR on the first domain of it).
X-View analysis
Search conditions
Set the conditions in the bar at the top and search with the magnifier at its right end.
| Item | What it does |
|---|---|
| Transaction kind | All transactions (모든 트랜잭션) or MSA roots (MSA 시작점). MSA roots searches linked transactions only; the advanced conditions are cleared and their button hides |
| Start, end | Date, hour and minute. The last ten minutes at first. The end must be after the start before you can search |
Targets (대상선택) | Check targets in the tree of the Instance or Business tab and apply. Changing the time refills the list with the targets of that period |
Minimum response time (최소 응답시간) | Only transactions that took longer than this (ms) are fetched |
Advanced conditions (고급 검색 조건) | A window of conditions on the transaction and on its profile |
While a search runs, the magnifier turns into a progress ring; click it to stop the search. A loading box also covers the chart and the table, with a button that stops it. Stopping keeps the points received so far.
whole day can reach hundreds of megabytes and take tens of seconds. When the points reach a limit set by the
browser's memory (500,000 to 2,000,000), the search stops and a notice opens. Narrow the period or raise the
minimum response time.
Advanced conditions
The window has two tabs. Empty fields are left out; Apply makes the conditions part of the next search. Open the window again and the conditions in force are filled in.
| Tab | Conditions |
|---|---|
Transaction (트랜잭션 검색) | TXID, application name, client IP, client ID, user ID, GUID, HTTP status, HTTP User-Agent, error type, errors only (ERROR가 포함된 트랜잭션만 표시) |
Profile (프로파일 검색) | Method, method parameter, method return, SQL parameter, external call, file, message, exclude bots (Bot 제외), SQL statement |
The transaction tab takes * as a wildcard (for example api.*.service). Apply stays disabled while TXID or
client ID is not an integer. Profile conditions look inside every transaction's profile, so the search can
take much longer.
Instance bar
When the search ends, the instances (or businesses) it found appear as chips under the condition bar. Pick chips to keep only their points in the chart and the table; several can be picked. The reset button on the left clears the picks.
Tabs and views
The tabs decide what the same search result is grouped by. A tab whose value the result does not have is disabled. The dropdown on the right of the tab bar switches the view.
| Tab | Views |
|---|---|
| Transaction | Application and chart, chart, table |
| Client ID, GUID | Chart |
| Application | Chart, table |
| User ID, client IP | Table |
At the right end of the tab bar are the share button (on the transaction chart) and the filter panel button.
Pick rows in a table and a popup button (팝업으로 보기) appears.
The X-View chart
On the transaction tab every transaction is an X mark. Across is time and up is the chosen time value; transactions that ended in error are drawn in reds. While the search runs, an orange mark shows how far in time it has got.
On the client ID, application and GUID tabs every group is a point. The point sits at the group's last time, darker the more transactions it holds, and a group of 100 or more gets a circle around it.
The chart header has:
- Vertical axis dropdown - on the transaction tab, response time, SQL time, fetch time, external call time, CPU time, frontend time or network time; on group tabs, average, largest or last response time
- Pattern badge - with AI on in the console, the pattern verdict on the points. It reads as on the X-View of the Dashboards
- Point count - hover for the counts by kind
- Drag mode (↔) - switches between selecting an area (
드래그로 영역 선택) and expanding a time range (드래그로 시간 확장) - ⋮ - the automatic max switch (
자동 Max 값) and, with AI on,X-View 패턴 인식(pattern recognition) andX-View 패턴 등록(register pattern)
Click the maximum box at the top of the vertical axis (8000 at first) to type a maximum. With the chart focused, ↑ and ↓ change it too (Shift: tenfold).
Dragging over the chart does one of two things, by drag mode.
| Mode | Result of a drag |
|---|---|
| Select an area | The points in the box (groups, on group tabs) open in the X-View Transactions window |
| Expand a time range | The chart zooms in on the dragged time range. The range and back and close buttons appear above it |
Ctrl+B opens every point in the X-View Transactions window, on any tab. What you can do there is in
X-View Transactions.
Application chart
In the transaction tab's application and chart view, a list of applications sits left of the X-View. Each row is the application's name, its value and a bar of its share. The dropdown at the top of the list sorts by call count, average response time, largest response time, average SQL time, average CPU time or name (ascending).
- Click an application to keep only its points on the X-View; click it again to show all
- Drag the list's right edge to resize it. The width is remembered in the browser
- With AI on in the console, the
>button at the end of a row finds similar applications: applications whose response time distribution resembles the chosen one, listed with their similarity, and the X-View colors each application's points differently
Tables
The table view shows 50 rows a page. The transaction table starts in order of importance (errors and response time); click a column head to sort by it. The tools above the table turn pages, choose columns and download the rows shown as CSV.
The tables of group tabs have a row per group with the count, average SQL, fetch, external call and CPU times, and average, largest and last response times, with bars. Check rows and click the popup button to open their transactions in the X-View Transactions window.
Filter panel
The filter button at the right end of the tab bar opens a filter panel on the right. Filters narrow the points already received, without searching again.
- Typed filters - type an application, an excluded application, client IP, client ID, user ID, GUID,
business ID, HTTP status, or a time comparison (
>,>=,=,<,<=) and press Enter; they stack by kind. Click a filter's text to turn it on or off, and its ✕ to remove it - Transaction kind - error, MSA root, stack trace, asynchronous, synchronous. Asynchronous and synchronous cannot be on together
- Percentile - only points at or below P90, P95 or P99 of the vertical axis
- Representative transactions - with AI on. Cannot be combined with the other filters
Sharing a search
The share button opens a window (X-View 검색 공유하기) with an address for the searched domains and period.
The address points straight at the JENNIFER console's X-View search screen, so whoever opens it needs access
to the console. Advanced conditions and filters are not shared.
Registering an X-View pattern
With AI on in the console and a pattern badge on the transaction tab's chart, X-View 패턴 등록 in the ⋮
menu registers the current distribution of points as a new pattern. Fill in the state (normal or abnormal), a
name and a memo (up to 100 characters) and save; when the console's pattern settings have the real-time message
on and the chart holds points, the pattern is registered in the console. After saving, you are asked
whether to go to the pattern settings; if you do, the console's settings screen opens in a new window.
X-View 패턴 인식 opens the same settings screen.
badge on the dashboards. The console's settings screen is opened by the browser directly, so it needs its own
console login.
Set as start page
Checking 시작 화면으로 설정 (set as start page) in the title bar's ⋯ menu makes X-View analysis the console
start page of the profile's account. It changes the console account's settings, so take care with an account
shared by several people.
Stacktrace Flight Recorder
Stacktrace Flight Recorder (SFR) gathers the stack trace samples the JENNIFER agents collect at intervals and shows, as a method table and a flame graph, where the time was spent. Use it to see what the whole system, not one transaction, was doing at a given time.
Search conditions
| Item | What it does |
|---|---|
| Period | Pick the last day in the calendar and 1 to 4 days in the period dropdown (조회 기간) at its top |
Targets (대상선택) | Check instances in the tree and click Done |
Applications (애플리케이션) | Opens the list of the period's applications. Filter by hash or name, check them and click Add. Click a column head to sort |
The magnifier searches. Changing the period clears the chosen applications, so pick them again.
Sample chart
The searched period is split into 144 columns, each a stack of minute cells from the bottom up, shaded by value. Over several days a dashed line marks each midnight.
- The dropdown on the left picks the metric: the sample count (
샘플 개수) and the metrics the instances report (GC time, error count, GC count and so on). With applications picked, only the sample count remains - Drag over the chart to load the stack traces of that range, or click to load one minute. The chosen range is shown above the chart
- When the period includes now, the last 1, 5 and 60 minute buttons (
최근 1분,최근 5분,최근 60분) appear
Dark cells mark ranges with many samples, that is, many threads running at that time. Switch to GC time or error count to check whether something else happened at the same moment.
Toolbar
The bar under the sample chart has:
- Search - type a method name and press Enter to highlight the matches in the table and the flame graph
- Head first / Tail first - whether long names in the flame graph show their start or their end
- View - table only, both, or graph only
- Fold (^) - folds the search bar and the sample chart away to give the lower part more room
Method table
For every method, the Self share: the share of samples with that method at the top of the stack. Methods with a high share are where the CPU was used, or where threads were waiting. Click a column head to sort; click again to reverse.
Click a row to highlight that method in the flame graph; click it again to clear.
Flame graph
The call stacks piled from the top down. The top is where threads start, each row below is what the row above called, and a box is as wide as its share of its parent's samples. Follow the wide boxes down to see where the time went.
- Click a box to zoom in on it
- The buttons at the top right go back to the previous selection, clear the selection, export CSV and export an image (PNG)
- With a search or a picked method, everything else is greyed out and a
Matchedshare is shown