cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-14523) Thread pool stats virtual table
Date Wed, 01 Aug 2018 14:10:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-14523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16565381#comment-16565381
] 

Aleksey Yeschenko commented on CASSANDRA-14523:
-----------------------------------------------

bq. Keeping the partition ordered by their partition key natural order is in my opinion an
advantage for the virtual tables.

Sure, sounds like a good idea. Should do it in a different ticket though (for other tables),
but in this ticket for {{thread_pools}}.

bq. I noticed that the patch reformat the name of the pools for exposing them in the virtual
table. We should probably keep the original name as it is a bit confusing if other tools and
logs display a different name.

Agreed that we should leave the names untransformed by the virtual tables. I'm not against
the idea of giving thread pools consistent names in 4.0, though, in a separate ticket.

Separately, I'm with [~cnlwsu] here re: simply using the existing {{DataSet}} here. We have
a tiny number of thread pools and it's in my opinion not worth it, here, to complicate things
with a semi-persistent implementation.

That said, what I'm not a huge fan of is having to query JMX for names, then building column
values from metrics. It's not dissimilar to serializing things into maps then deserializing
back for consumption by the virtual tables. We should be dealing with {{LocalAwareExecutorService}}
instances directly instead of going through jmx, then through metrics. This is not some external
code after all.

The closest we currently have is {{StageManager.stages}} map, but not every thread pool is
in there. I wonder if we should either put the relevant thread pools that aren't currently
in the stages map in there, or have a different registry somewhere for all executors.

I started a branch [here|https://github.com/iamaleksey/cassandra/tree/14523-review] - so far
with just some cleanups and nits, but I'm half-way through with coding up what I meant above.
Will update the ticket once I'm done.

> Thread pool stats virtual table
> -------------------------------
>
>                 Key: CASSANDRA-14523
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14523
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Chris Lohfink
>            Assignee: Chris Lohfink
>            Priority: Minor
>              Labels: virtual-tables
>             Fix For: 4.x
>
>
> Expose the thread pools like in status logger/tpstats. Additionally be nice to include
the scheduled executor pools that are currently unmonitored.
> {code:java}
> cqlsh> select * from system_views.thread_pools;
>  thread_pool                      | active | active_max | completed | pending | tasks_blocked
| total_blocked
> ----------------------------------+--------+------------+-----------+---------+---------------+---------------
>                anti_entropy_stage |      0 |          1 |         0 |       0 |     
       0 |             0
>            cache_cleanup_executor |      0 |          1 |         0 |       0 |     
       0 |             0
>               compaction_executor |      0 |          4 |        41 |       0 |     
       0 |             0
>            counter_mutation_stage |      0 |         32 |         0 |       0 |     
       0 |             0
>                      gossip_stage |      0 |          1 |         0 |       0 |     
       0 |             0
>                  hints_dispatcher |      0 |          2 |         0 |       0 |     
       0 |             0
>           internal_response_stage |      0 |          8 |         0 |       0 |     
       0 |             0
>             memtable_flush_writer |      0 |          2 |         5 |       0 |     
       0 |             0
>               memtable_post_flush |      0 |          1 |        20 |       0 |     
       0 |             0
>           memtable_reclaim_memory |      0 |          1 |         5 |       0 |     
       0 |             0
>                   migration_stage |      0 |          1 |         0 |       0 |     
       0 |             0
>                        misc_stage |      0 |          1 |         0 |       0 |     
       0 |             0
>                    mutation_stage |      0 |         32 |       247 |       0 |     
       0 |             0
>         native_transport_requests |      1 |        128 |        28 |       0 |     
       0 |             0
>          pending_range_calculator |      0 |          1 |         2 |       0 |     
       0 |             0
>  per_disk_memtable_flush_writer_0 |      0 |          2 |         5 |       0 |     
       0 |             0
>                 read_repair_stage |      0 |          8 |         0 |       0 |     
       0 |             0
>                        read_stage |      0 |         32 |        13 |       0 |     
       0 |             0
>                       repair_task |      0 | 2147483647 |         0 |       0 |     
       0 |             0
>            request_response_stage |      0 |          8 |         0 |       0 |     
       0 |             0
>                           sampler |      0 |          1 |         0 |       0 |     
       0 |             0
>              scheduled_fast_tasks |      0 | 2147483647 |      1398 |       1 |     
       0 |             0
>               scheduled_heartbeat |      0 | 2147483647 |        14 |       1 |     
       0 |             0
>         scheduled_hotness_tracker |      0 | 2147483647 |         0 |       1 |     
       0 |             0
>      scheduled_non_periodic_tasks |      0 | 2147483647 |        10 |       0 |     
       0 |             0
>          scheduled_optional_tasks |      0 | 2147483647 |         5 |       8 |     
       0 |             0
>         scheduled_summary_builder |      0 | 2147483647 |         0 |       1 |     
       0 |             0
>                   scheduled_tasks |      0 | 2147483647 |       194 |      74 |     
       0 |             0
>        secondary_index_management |      0 |          1 |         0 |       0 |     
       0 |             0
>               validation_executor |      0 | 2147483647 |         0 |       0 |     
       0 |             0
>               view_build_executor |      0 |          1 |         0 |       0 |     
       0 |             0
>               view_mutation_stage |      0 |         32 |         0 |       0 |     
       0 |             0
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message