Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-11425

Add prepared query parameter to trace for "Execute CQL3 prepared query" session

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Fix Version/s: 3.8
    • Component/s: CQL
    • Labels:
      None

      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.

      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
      

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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Yasuharu Yasuharu Goto
                Reporter:
                Yasuharu Yasuharu Goto
                Reviewer:
                Robert Stupp
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: