cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-11425) Add prepared query parameter to trace for "Execute CQL3 prepared query" session
Date Wed, 13 Apr 2016 19:55:25 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-11425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Robert Stupp updated CASSANDRA-11425:
-------------------------------------
    Description: 
For now, the system_traces.sessions rows for "Execute CQL3 prepared query" do not show us
any information about the prepared query which is executed on the session. So we can't see
what query is the session executing.
I think this makes performance tuning difficult on Cassandra.

So, In this ticket, I'd like to add the prepared query parameter on Execute session trace
like this.

{noformat}
cqlsh:system_traces> select * from sessions ;

 session_id                           | client    | command | coordinator | duration | parameters
                                                                                         
                                                | request                     | started_at
--------------------------------------+-----------+---------+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+---------------------------------
 a001ec00-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      666 |   
  \{'consistency_level': 'ONE', 'page_size': '5000', 'query': 'SELECT * FROM test.test2 WHERE
id=? LIMIT 1', 'serial_consistency_level': 'SERIAL'\} | Execute CQL3 prepared query | 2016-03-24
13:38:00.000000+0000
 a0019de0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      109 |   
                                                                                         {'query':
'SELECT * FROM test.test2 WHERE id=? LIMIT 1'} |        Preparing CQL3 query | 2016-03-24
13:37:59.998000+0000
 a0014fc0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      126 |   
                                                                                       {'query':
'INSERT INTO test.test2(id,value) VALUES (?,?)'} |        Preparing CQL3 query | 2016-03-24
13:37:59.996000+0000
 a0019de1-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      764 |   
  {'consistency_level': 'ONE', 'page_size': '5000', 'query': 'SELECT * FROM test.test2 WHERE
id=? LIMIT 1', 'serial_consistency_level': 'SERIAL'} | Execute CQL3 prepared query | 2016-03-24
13:37:59.998000+0000
 a00176d0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      857 | {'consistency_level':
'QUORUM', 'page_size': '5000', 'query': 'INSERT INTO test.test2(id,value) VALUES (?,?)', 'serial_consistency_level':
'SERIAL'} | Execute CQL3 prepared query | 2016-03-24 13:37:59.997000+0000
{noformat}

Now, "Execute CQL3 prepared query" session displays its query.
I believe that this additional information would help operators a lot.

  was:
For now, the system_traces.sessions rows for "Execute CQL3 prepared query" do not show us
any information about the prepared query which is executed on the session. So we can't see
what query is the session executing.
I think this makes performance tuning difficult on Cassandra.

So, In this ticket, I'd like to add the prepared query parameter on Execute session trace
like this.

{noformat}
cqlsh:system_traces> select * from sessions ;

 session_id                           | client    | command | coordinator | duration | parameters
                                                                                         
                                                | request                     | started_at
--------------------------------------+-----------+---------+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+---------------------------------
 a001ec00-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      666 |   
  {'consistency_level': 'ONE', 'page_size': '5000', 'query': 'SELECT * FROM test.test2 WHERE
id=? LIMIT 1', 'serial_consistency_level': 'SERIAL'} | Execute CQL3 prepared query | 2016-03-24
13:38:00.000000+0000
 a0019de0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      109 |   
                                                                                         {'query':
'SELECT * FROM test.test2 WHERE id=? LIMIT 1'} |        Preparing CQL3 query | 2016-03-24
13:37:59.998000+0000
 a0014fc0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      126 |   
                                                                                       {'query':
'INSERT INTO test.test2(id,value) VALUES (?,?)'} |        Preparing CQL3 query | 2016-03-24
13:37:59.996000+0000
 a0019de1-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      764 |   
  {'consistency_level': 'ONE', 'page_size': '5000', 'query': 'SELECT * FROM test.test2 WHERE
id=? LIMIT 1', 'serial_consistency_level': 'SERIAL'} | Execute CQL3 prepared query | 2016-03-24
13:37:59.998000+0000
 a00176d0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      857 | {'consistency_level':
'QUORUM', 'page_size': '5000', 'query': 'INSERT INTO test.test2(id,value) VALUES (?,?)', 'serial_consistency_level':
'SERIAL'} | Execute CQL3 prepared query | 2016-03-24 13:37:59.997000+0000
{noformat}

Now, "Execute CQL3 prepared query" session displays its query.
I believe that this additional information would help operators a lot.


> Add prepared query parameter to trace for "Execute CQL3 prepared query" session
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-11425
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11425
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Yasuharu Goto
>            Assignee: Yasuharu Goto
>            Priority: Minor
>
> For now, the system_traces.sessions rows for "Execute CQL3 prepared query" do not show
us any information about the prepared query which is executed on the session. So we can't
see what query is the session executing.
> I think this makes performance tuning difficult on Cassandra.
> So, In this ticket, I'd like to add the prepared query parameter on Execute session trace
like this.
> {noformat}
> cqlsh:system_traces> select * from sessions ;
>  session_id                           | client    | command | coordinator | duration
| parameters                                                                             
                                                             | request                   
 | started_at
> --------------------------------------+-----------+---------+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+---------------------------------
>  a001ec00-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      666
|      \{'consistency_level': 'ONE', 'page_size': '5000', 'query': 'SELECT * FROM test.test2
WHERE id=? LIMIT 1', 'serial_consistency_level': 'SERIAL'\} | Execute CQL3 prepared query
| 2016-03-24 13:38:00.000000+0000
>  a0019de0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      109
|                                                                                        
    {'query': 'SELECT * FROM test.test2 WHERE id=? LIMIT 1'} |        Preparing CQL3 query
| 2016-03-24 13:37:59.998000+0000
>  a0014fc0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      126
|                                                                                        
  {'query': 'INSERT INTO test.test2(id,value) VALUES (?,?)'} |        Preparing CQL3 query
| 2016-03-24 13:37:59.996000+0000
>  a0019de1-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      764
|      {'consistency_level': 'ONE', 'page_size': '5000', 'query': 'SELECT * FROM test.test2
WHERE id=? LIMIT 1', 'serial_consistency_level': 'SERIAL'} | Execute CQL3 prepared query |
2016-03-24 13:37:59.998000+0000
>  a00176d0-f1c5-11e5-b14a-6fe1292cf9f1 | 127.0.0.1 |   QUERY |   127.0.0.1 |      857
| {'consistency_level': 'QUORUM', 'page_size': '5000', 'query': 'INSERT INTO test.test2(id,value)
VALUES (?,?)', 'serial_consistency_level': 'SERIAL'} | Execute CQL3 prepared query | 2016-03-24
13:37:59.997000+0000
> {noformat}
> Now, "Execute CQL3 prepared query" session displays its query.
> I believe that this additional information would help operators a lot.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message