SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
The 
most 
important 
trick 
of 
performance 
instrumentation 
Cary 
Millsap 
Accenture 
Enkitec 
Group 
and 
Method 
R 
Corporation 
@CaryMillsap 
OakTable 
World 
2014 
·∙ 
San 
Francisco, 
California 
12:50p–1:00p 
Monday 
29 
September 
2014 
© 
2014 
Method 
R 
Corporation 
1 
TM 
MeTHOD R
@CaryMillsap 
Performance is not an 
attribute of a system. 
2
ID USERNAME MODULE START_TIME R SLR 
-- -------- ------- -------------------------- ----- --- 
1 FCHANG OE BOOK 2014-09-15T08:14:22.189533 2.019 2.0 
2 RSMITH OE SHIP 2014-09-15T08:14:23.673849 3.528 5.0 
3 DJOHNSON OE PICK 2014-09-15T08:15:01.938816 1.211 5.0 
4 FFORBES OE BOOK 2014-09-15T08:17:23.815511 0.716 2.5 
5 FCHANG OE BOOK 2014-09-15T08:17:24.032562 1.917 2.5 
6 LBUMONT PA MTCH 2014-09-15T08:17:42.019328 1.305 2.0 
@CaryMillsap 
3 
This 
thing 
called 
an 
experience... 
#define FAST (R ≤ SLR)
ID USERNAME MODULE R SLR FAST? 
-- -------- ------- ----- --- ----- 
1 FCHANG OE BOOK 2.019 2.0 N 
2 RSMITH OE SHIP 3.528 5.0 Y 
3 DJOHNSON OE PICK 1.211 5.0 Y 
4 FFORBES OE BOOK 0.716 2.5 Y 
5 FCHANG OE BOOK 1.917 2.5 Y 
6 LBUMONT PA MTCH 1.305 2.0 Y 
@CaryMillsap 
4 
This 
thing 
called 
an 
experience... 
#define FAST (R ≤ SLR)
@CaryMillsap 
Performance is an attribute of 
each individual experience 
with a system. 
5
EXPERIENCE 
• id 
• task-id 
• user-id 
• ip-address 
• start-time 
• end-time 
• ERROR-code 
• WORK-done 
TASK 
• id 
• name 
• ... 
SQL 
• ID 
• Task-id 
• ... 
N 
1 
1 
N 
@CaryMillsap 6
@CaryMillsap 
The “trick”... 
7
@CaryMillsap 
Each 
experience 
gets its own 
unique id. 
8
@CaryMillsap 
That’s 
it. 
9
@CaryMillsap 
Each 
experience 
gets its own 
unique id. 
10
@CaryMillsap 
You 
need 
to 
see 
this 
experience 
id 
in 
your 
session’s 
v$ 
data 
and 
your 
trace 
data. 
11 
❶ 
❷
@CaryMillsap 
Implementation? 
12
T 
UNDER CONSTRUCTION 
@CaryMillsap 13
dbms_application_info.set_module( 
module_name 
=> 'OE BOOK', 
action_name 
=> sys_guid() -- 32-char hex string 
); 
-- Your ‘book order’ code 
dbms_application_info.set_module( 
module_name 
=> null, 
action_name 
=> null 
); 
@CaryMillsap 
14 
SQL, PL/SQL
conn.ModuleName = "OE BOOK"; 
conn.ActionName = Guid.NewGuid().toString(); 
// Your ‘book order’ code 
conn.ModuleName = ""; 
conn.ActionName = ""; 
@CaryMillsap 
ODP.NET 
15
String metrics[] = new 
String[OraCxn.END_TO_END_STATE_INDEX_MAX]; 
metrics[END_TO_END_MODULE_INDEX] = "OE BOOK"; 
metrics[END_TO_END_ACTION_INDEX] = UUID.randomUUID().toString(); 
conn.setEndToEndMetrics(metrics, (short) 0); 
// Your ‘book order’ code 
metrics[END_TO_END_MODULE_INDEX] = ""; 
metrics[END_TO_END_ACTION_INDEX] = ""; 
conn.setEndToEndMetrics(metrics, (short) 0); 
@CaryMillsap 
16 
Java, ADF
17
setClientInfo method supports JDBC DMS metrics 
setEndToEndMetrics is deprecated 
DBOP tag can be associated with application thread 
18 
New in 12.1
19 
Oh, and... 
module and action lengths are limited by JDBC 
(Thanks Lasse Jenssen)
@CaryMillsap 
Postscript 
A 
UUID 
in 
canonical 
form 
is 
36 
characters 
long 
(32 
lowercase 
hexadecimal 
characters 
and 
4 
hyphens). 
However, 
v$session.action 
is 
VARCHAR2(32), 
so 
either 
we 
need 
to 
perform 
a 
more 
sophisticated 
transformation 
than 
toString 
upon 
the 
UUID 
(such 
as 
to 
remove 
the 
hyphens), 
or 
we 
have 
to 
choose 
another 
column 
in 
which 
to 
store 
it. 
We’re 
also 
investigating 
whether 
the 
new 
12.1 
begin_operation 
function 
and 
end_operation 
procedure 
in 
dbms_sql_monitor 
will 
accomplish 
our 
goal 
of 
assigning 
a 
unique 
id 
to 
each 
end-­‐user 
experience. 
The 
material 
at 
http:// 
docs.oracle.com/database/121/TGSQL/tgsql_monit.htm#TGSQL789 
and 
http://docs.oracle.com/database/121/ARPLS/ 
d_sql_monitor.htm#ARPLS74779 
looks 
promising. 
The 
combination 
of 
dbop_name 
and 
dbop_eid 
should 
be 
unique, 
but 
to 
meet 
my 
needs, 
these 
elements 
would 
have 
to 
render 
into 
the 
session’s 
trace 
data. 
These 
are 
the 
kinds 
of 
things 
we’re 
working 
on. 
20
@CaryMillsap 
What you get 
21
experience 
id 
(PK) 
USERNAME MODULE_NAME ACTION_NAME START_TIME 
-------- ----------- -------------------------------- ---------- 
FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 
RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 
DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 
FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 
FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 
LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 
@CaryMillsap 22
DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE( 
MODULE_NAME => 'OE BOOK', 
ACTION_NAME => ANY_ACTION // default 
) 
USERNAME MODULE_NAME ACTION_NAME START_TIME 
-------- ----------- -------------------------------- ---------- 
FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 
RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 
DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 
FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 
FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 
LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 
@CaryMillsap 23
@CaryMillsap 
*** CLIENT ID:(10.17.21.198 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... 
PARSE ... 
EXEC ... 
WAIT ... 
... 
*** CLIENT ID:(10.17.22.57 FFORBES) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... 
PARSE ... 
WAIT ... 
EXEC ... 
... 
*** CLIENT ID:(10.17.22.241 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... 
EXEC ... 
WAIT ... 
FETCH ... 
... 
24
ACTION Trace file line 
------------- ----------------------------------------------------------- 
@CaryMillsap 
*** CLIENT ID:(10.17.21.198 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... 
PARSE ... 
EXEC ... 
WAIT ... 
... 
*** CLIENT ID:(10.17.22.57 FFORBES) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... 
PARSE ... 
WAIT ... 
EXEC ... 
... 
*** CLIENT ID:(10.17.22.241 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... 
EXEC ... 
WAIT ... 
FETCH ... 
... 
25 
4a782ce5... 
4a782ce5... 
4a782ce5... 
4a782ce5... 
2c920fc0... 
2c920fc0... 
2c920fc0... 
2c920fc0... 
396f1348... 
396f1348... 
396f1348... 
396f1348...
$ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc 
ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN --------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 @CaryMillsap 
26
$ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc 
ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN -------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 $ mrskew --where='$act eq "c9a65ad7c62a4de9bb4ad118d9a5eda3"' *trc 
CALL-NAME DURATION % CALLS MEAN MIN MAX 
--------------------------- -------- ------ ----- -------- -------- -------- 
SQL*Net message from client 3.161922 100.0% 201 0.015731 0.001619 0.135835 
SQL*Net message to client 0.000440 0.0% 201 0.000002 0.000000 0.000027 
FETCH 0.000000 0.0% 201 0.000000 0.000000 0.000000 
EXEC 0.000000 0.0% 1 0.000000 0.000000 0.000000 
--------------------------- -------- ------ ----- -------- -------- -------- 
TOTAL (4) 3.162362 100.0% 604 0.005236 0.000000 0.135835 
@CaryMillsap 
27
@CaryMillsap 
Each 
experience 
gets its own 
unique id. 
28
@CaryMillsap 
...So you can 
measure and diagnose 
what people feel. 
29
@CaryMillsap 
...So you can 
measure and diagnose 
performance. 
30
@CaryMillsap 
For 
more... 
http://amzn.to/173bpzg 
31
@CaryMillsap 
Fin 
32

Contenu connexe

Tendances

Agile Database Development with JSON
Agile Database Development with JSONAgile Database Development with JSON
Agile Database Development with JSONChris Saxon
 
APEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQLAPEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQLConnor McDonald
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksKyle Hailey
 
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL JediSangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL JediConnor McDonald
 
Oracle Database 12c Application Development
Oracle Database 12c Application DevelopmentOracle Database 12c Application Development
Oracle Database 12c Application DevelopmentSaurabh K. Gupta
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDBEnkitec
 
OOUG: Oracle transaction locking
OOUG: Oracle transaction lockingOOUG: Oracle transaction locking
OOUG: Oracle transaction lockingKyle Hailey
 
SQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersSQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersConnor McDonald
 
Advanced rac troubleshooting
Advanced rac troubleshootingAdvanced rac troubleshooting
Advanced rac troubleshootingRiyaj Shamsudeen
 
Cassandra EU - Data model on fire
Cassandra EU - Data model on fireCassandra EU - Data model on fire
Cassandra EU - Data model on firePatrick McFadin
 
Troubleshooting JIRA & Confluence
Troubleshooting JIRA & ConfluenceTroubleshooting JIRA & Confluence
Troubleshooting JIRA & ConfluenceAtlassian
 
Tracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data CaptureTracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data CaptureScyllaDB
 
Perth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL TechniquesPerth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL TechniquesConnor McDonald
 
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...Maris Elsins
 
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos ToolkitExploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos ToolkitSylvain Hellegouarch
 

Tendances (20)

Agile Database Development with JSON
Agile Database Development with JSONAgile Database Development with JSON
Agile Database Development with JSON
 
APEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQLAPEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQL
 
Performance
PerformancePerformance
Performance
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
 
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL JediSangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL Jedi
 
Oracle Database 12c Application Development
Oracle Database 12c Application DevelopmentOracle Database 12c Application Development
Oracle Database 12c Application Development
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDB
 
Redo internals ppt
Redo internals pptRedo internals ppt
Redo internals ppt
 
OOUG: Oracle transaction locking
OOUG: Oracle transaction lockingOOUG: Oracle transaction locking
OOUG: Oracle transaction locking
 
SQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersSQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX Developers
 
Survey of Percona Toolkit
Survey of Percona ToolkitSurvey of Percona Toolkit
Survey of Percona Toolkit
 
Sql2
Sql2Sql2
Sql2
 
Advanced rac troubleshooting
Advanced rac troubleshootingAdvanced rac troubleshooting
Advanced rac troubleshooting
 
Cassandra EU - Data model on fire
Cassandra EU - Data model on fireCassandra EU - Data model on fire
Cassandra EU - Data model on fire
 
Troubleshooting JIRA & Confluence
Troubleshooting JIRA & ConfluenceTroubleshooting JIRA & Confluence
Troubleshooting JIRA & Confluence
 
data_all_oracle
data_all_oracledata_all_oracle
data_all_oracle
 
Tracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data CaptureTracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data Capture
 
Perth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL TechniquesPerth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL Techniques
 
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
 
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos ToolkitExploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
 

Similaire à Most important "trick" of performance instrumentation

OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersConnor McDonald
 
UKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tipsUKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tipsConnor McDonald
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11gfcamachob
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01Karam Abuataya
 
Wait Events 10g
Wait Events 10gWait Events 10g
Wait Events 10gsagai
 
12c for Developers - Feb 2014
12c for Developers - Feb 201412c for Developers - Feb 2014
12c for Developers - Feb 2014Connor McDonald
 
Oracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMOracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMMonowar Mukul
 
OOW19 - Killing database sessions
OOW19 - Killing database sessionsOOW19 - Killing database sessions
OOW19 - Killing database sessionsConnor McDonald
 
12c Mini Lesson - Data Redaction
12c Mini Lesson - Data Redaction12c Mini Lesson - Data Redaction
12c Mini Lesson - Data RedactionConnor McDonald
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and ArchitectureSidney Chen
 
Oracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatOracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatFranck Pachot
 
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...Nagios
 
Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)Hemant K Chitale
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging RubyAman Gupta
 
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobsMonowar Mukul
 
How to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problemHow to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problemCary Millsap
 

Similaire à Most important "trick" of performance instrumentation (20)

OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developers
 
UKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tipsUKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tips
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11g
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01
 
Wait Events 10g
Wait Events 10gWait Events 10g
Wait Events 10g
 
PoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expériencePoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expérience
 
12c for Developers - Feb 2014
12c for Developers - Feb 201412c for Developers - Feb 2014
12c for Developers - Feb 2014
 
Oracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMOracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILM
 
OOW19 - Killing database sessions
OOW19 - Killing database sessionsOOW19 - Killing database sessions
OOW19 - Killing database sessions
 
12c Mini Lesson - Data Redaction
12c Mini Lesson - Data Redaction12c Mini Lesson - Data Redaction
12c Mini Lesson - Data Redaction
 
5 Cool Things About SQL
5 Cool Things About SQL5 Cool Things About SQL
5 Cool Things About SQL
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
 
Oracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatOracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor format
 
Addmrpt 1 1436_1462
Addmrpt 1 1436_1462Addmrpt 1 1436_1462
Addmrpt 1 1436_1462
 
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
 
Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)
 
audit_blog.ppt
audit_blog.pptaudit_blog.ppt
audit_blog.ppt
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
 
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
 
How to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problemHow to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problem
 

Plus de Cary Millsap

“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentation“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentationCary Millsap
 
Innovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringInnovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringCary Millsap
 
The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®Cary Millsap
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemCary Millsap
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemCary Millsap
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Cary Millsap
 

Plus de Cary Millsap (7)

“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentation“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
 
Innovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringInnovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and Monitoring
 
The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problem
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problem
 
My Case for Agile
My Case for AgileMy Case for Agile
My Case for Agile
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21
 

Dernier

Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 

Dernier (20)

Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 

Most important "trick" of performance instrumentation

  • 1. The most important trick of performance instrumentation Cary Millsap Accenture Enkitec Group and Method R Corporation @CaryMillsap OakTable World 2014 ·∙ San Francisco, California 12:50p–1:00p Monday 29 September 2014 © 2014 Method R Corporation 1 TM MeTHOD R
  • 2. @CaryMillsap Performance is not an attribute of a system. 2
  • 3. ID USERNAME MODULE START_TIME R SLR -- -------- ------- -------------------------- ----- --- 1 FCHANG OE BOOK 2014-09-15T08:14:22.189533 2.019 2.0 2 RSMITH OE SHIP 2014-09-15T08:14:23.673849 3.528 5.0 3 DJOHNSON OE PICK 2014-09-15T08:15:01.938816 1.211 5.0 4 FFORBES OE BOOK 2014-09-15T08:17:23.815511 0.716 2.5 5 FCHANG OE BOOK 2014-09-15T08:17:24.032562 1.917 2.5 6 LBUMONT PA MTCH 2014-09-15T08:17:42.019328 1.305 2.0 @CaryMillsap 3 This thing called an experience... #define FAST (R ≤ SLR)
  • 4. ID USERNAME MODULE R SLR FAST? -- -------- ------- ----- --- ----- 1 FCHANG OE BOOK 2.019 2.0 N 2 RSMITH OE SHIP 3.528 5.0 Y 3 DJOHNSON OE PICK 1.211 5.0 Y 4 FFORBES OE BOOK 0.716 2.5 Y 5 FCHANG OE BOOK 1.917 2.5 Y 6 LBUMONT PA MTCH 1.305 2.0 Y @CaryMillsap 4 This thing called an experience... #define FAST (R ≤ SLR)
  • 5. @CaryMillsap Performance is an attribute of each individual experience with a system. 5
  • 6. EXPERIENCE • id • task-id • user-id • ip-address • start-time • end-time • ERROR-code • WORK-done TASK • id • name • ... SQL • ID • Task-id • ... N 1 1 N @CaryMillsap 6
  • 8. @CaryMillsap Each experience gets its own unique id. 8
  • 10. @CaryMillsap Each experience gets its own unique id. 10
  • 11. @CaryMillsap You need to see this experience id in your session’s v$ data and your trace data. 11 ❶ ❷
  • 13. T UNDER CONSTRUCTION @CaryMillsap 13
  • 14. dbms_application_info.set_module( module_name => 'OE BOOK', action_name => sys_guid() -- 32-char hex string ); -- Your ‘book order’ code dbms_application_info.set_module( module_name => null, action_name => null ); @CaryMillsap 14 SQL, PL/SQL
  • 15. conn.ModuleName = "OE BOOK"; conn.ActionName = Guid.NewGuid().toString(); // Your ‘book order’ code conn.ModuleName = ""; conn.ActionName = ""; @CaryMillsap ODP.NET 15
  • 16. String metrics[] = new String[OraCxn.END_TO_END_STATE_INDEX_MAX]; metrics[END_TO_END_MODULE_INDEX] = "OE BOOK"; metrics[END_TO_END_ACTION_INDEX] = UUID.randomUUID().toString(); conn.setEndToEndMetrics(metrics, (short) 0); // Your ‘book order’ code metrics[END_TO_END_MODULE_INDEX] = ""; metrics[END_TO_END_ACTION_INDEX] = ""; conn.setEndToEndMetrics(metrics, (short) 0); @CaryMillsap 16 Java, ADF
  • 17. 17
  • 18. setClientInfo method supports JDBC DMS metrics setEndToEndMetrics is deprecated DBOP tag can be associated with application thread 18 New in 12.1
  • 19. 19 Oh, and... module and action lengths are limited by JDBC (Thanks Lasse Jenssen)
  • 20. @CaryMillsap Postscript A UUID in canonical form is 36 characters long (32 lowercase hexadecimal characters and 4 hyphens). However, v$session.action is VARCHAR2(32), so either we need to perform a more sophisticated transformation than toString upon the UUID (such as to remove the hyphens), or we have to choose another column in which to store it. We’re also investigating whether the new 12.1 begin_operation function and end_operation procedure in dbms_sql_monitor will accomplish our goal of assigning a unique id to each end-­‐user experience. The material at http:// docs.oracle.com/database/121/TGSQL/tgsql_monit.htm#TGSQL789 and http://docs.oracle.com/database/121/ARPLS/ d_sql_monitor.htm#ARPLS74779 looks promising. The combination of dbop_name and dbop_eid should be unique, but to meet my needs, these elements would have to render into the session’s trace data. These are the kinds of things we’re working on. 20
  • 22. experience id (PK) USERNAME MODULE_NAME ACTION_NAME START_TIME -------- ----------- -------------------------------- ---------- FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 @CaryMillsap 22
  • 23. DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE( MODULE_NAME => 'OE BOOK', ACTION_NAME => ANY_ACTION // default ) USERNAME MODULE_NAME ACTION_NAME START_TIME -------- ----------- -------------------------------- ---------- FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 @CaryMillsap 23
  • 24. @CaryMillsap *** CLIENT ID:(10.17.21.198 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... PARSE ... EXEC ... WAIT ... ... *** CLIENT ID:(10.17.22.57 FFORBES) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... PARSE ... WAIT ... EXEC ... ... *** CLIENT ID:(10.17.22.241 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... EXEC ... WAIT ... FETCH ... ... 24
  • 25. ACTION Trace file line ------------- ----------------------------------------------------------- @CaryMillsap *** CLIENT ID:(10.17.21.198 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... PARSE ... EXEC ... WAIT ... ... *** CLIENT ID:(10.17.22.57 FFORBES) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... PARSE ... WAIT ... EXEC ... ... *** CLIENT ID:(10.17.22.241 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... EXEC ... WAIT ... FETCH ... ... 25 4a782ce5... 4a782ce5... 4a782ce5... 4a782ce5... 2c920fc0... 2c920fc0... 2c920fc0... 2c920fc0... 396f1348... 396f1348... 396f1348... 396f1348...
  • 26. $ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN --------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 @CaryMillsap 26
  • 27. $ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN -------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 $ mrskew --where='$act eq "c9a65ad7c62a4de9bb4ad118d9a5eda3"' *trc CALL-NAME DURATION % CALLS MEAN MIN MAX --------------------------- -------- ------ ----- -------- -------- -------- SQL*Net message from client 3.161922 100.0% 201 0.015731 0.001619 0.135835 SQL*Net message to client 0.000440 0.0% 201 0.000002 0.000000 0.000027 FETCH 0.000000 0.0% 201 0.000000 0.000000 0.000000 EXEC 0.000000 0.0% 1 0.000000 0.000000 0.000000 --------------------------- -------- ------ ----- -------- -------- -------- TOTAL (4) 3.162362 100.0% 604 0.005236 0.000000 0.135835 @CaryMillsap 27
  • 28. @CaryMillsap Each experience gets its own unique id. 28
  • 29. @CaryMillsap ...So you can measure and diagnose what people feel. 29
  • 30. @CaryMillsap ...So you can measure and diagnose performance. 30
  • 31. @CaryMillsap For more... http://amzn.to/173bpzg 31