Hi,

I've completed a PR for this(not committed yet), and used JMX for
visualization. You can see it in Jconsole.[1]

But something still needs to be thought of.

1. *What about adding device number as an attribute?*

TOTAL_DEVICE(Calculate the total device number.) I think it's useful for
users in monitoring data writing.

2. *Show monitor attributes command.*

Currently, we can use commands like `select TOTAL_POINTS from
root.stats.global` to see the monitor attributes. It will show like a
common time series:

| Time | root.stats.global.TOTAL_POINTS |
| ...      |            ...                                       |
| ...      |            ...                                       |

But we can't get the latest info this way as the info is updated during
each flush(). And sometimes users only care about the real-time value
instead the process of data changing.

Therefore I think maybe we need a new command to complete this function.

But I don't carry out a good idea. If you have any ideas or some
references, welcome to reply.





[1]
[image: image.png]




1. What about DEVICE_NUM

Xiangwei Wei <[email protected]> 于2020年8月26日周三 下午4:57写道:

> Hi,
>
> > I think TOTAL_REQ_SUCCESS is also important in some cases.
>
> Yes, we can keep the TOTAL_REQ_FAIL also as a contrast.
>
>
> > By the way, there is a branch "feature/improve-monitoring-metrics" which
> is
> > written by Julian and use Micrometer to collect some performance info.
>
> Any introduction or doc about this?
>
>
>
>
> Julian Feinauer <[email protected]> 于2020年8月26日周三 下午4:49写道:
>
>> Hi,
>>
>> indeed there is potential for some more modularity (and I think I already
>> added a submodule in that branch).
>> Currently Xiangdong is improving the collected metrics and I would be
>> happy to get this into the master / develop ASAP : )
>>
>> Julian
>>
>> Am 26.08.20, 08:10 schrieb "Xiangdong Huang" <[email protected]>:
>>
>>     Hi,
>>
>>     I think TOTAL_REQ_SUCCESS is also important in some cases.
>>
>>     By the way, there is a branch "feature/improve-monitoring-metrics"
>> which is
>>     written by Julian
>>
>>     and use Micrometer to collect some performance info.
>>
>>     I think we can maintain that branch in the next step.
>>     (By the way,  I believe that making the project more modularity is
>>     beneficial.
>>     We can extract the implementation as interfaces to let users decide
>> using
>>     which way to get the info)
>>
>>     Best,
>>     -----------------------------------
>>     Xiangdong Huang
>>     School of Software, Tsinghua University
>>
>>      黄向东
>>     清华大学 软件学院
>>
>>
>>     Xiangwei Wei <[email protected]> 于2020年8月26日周三 下午1:52写道:
>>
>>     > Hi,
>>     >
>>     > Currently, the status monitor module of iotdb is abandoned and not
>>     > maintained now. It's time for us to restart this module.
>>     >
>>     > Before, it was designed including two child modules: 1. the writing
>> data
>>     > status monitor and 2. the file size monitor.
>>     >
>>     > 1. The writing data monitor module is responsible for collecting
>> writing
>>     > data statistics including
>>     > - TOTAL_POINTS (Calculate the total writing points number.)
>>     > - TOTAL_REQ_SUCCESS (Calculate the successful requests number.)
>>     > - TOTAL_REQ_FAIL (Calculate the failed requests number.)
>>     > - TOTAL_POINTS_FAIL (Calculate the failed writing points number.)
>>     > - TOTAL_POINTS_SUCCESS
>>     > etc.
>>     >
>>     > and presenting them to users by statistics time series like
>>     > .root.stats.write.global.TOTAL_POINTS. It's not supported
>> completely now.
>>     >
>>     > Actually, many parts of origin design are redundant and not
>> meaningful for
>>     > users. Therefore, *I want to just keep TOTAL_POINTS here and remove
>>     > others*.
>>     > And i did not come up with some good ideas about *what needs to be
>> added to
>>     > this monitor* while writing data. Welcome to any ideas here!
>>     >
>>     >
>>     >
>>     > 2. The file size monitor is concerned about how much space the data
>> file
>>     > takes. It's supported partly and very limited now.
>>     >
>>     > In my opinion, it's easily for users to see how much space the data
>> file
>>     > takes by a visible interface or just a Linux code. And it's more
>> flexible
>>     > for users to decide what to calculate by themselves. Therefore,
>> there is no
>>     > sufficient reason for us to redesign and reimplement this child
>> module. *I
>>     > want to just remove it from iotdb.*
>>     >
>>     > The impletation way of status monitor module was designed as
>> setting a
>>     > monitor thread and returning the status info every
>>     > *back_loop_period_in_second* (default 5s), removing outdated data
>>     > every *stat_monitor_retain_interval_in_second
>>     > (default 600s). *It cost a lot and is meaningless if no write was
>> made
>>     > then.
>>     >
>>     > Therefore, we want to collect the data while writing data and keep
>> it in
>>     > memory temperarily, *every time flush() is invoked or user want to
>> select
>>     > the monitor data, we update the data info to the disk and return
>> users the
>>     > lastest data.*
>>     >
>>     > That what need to be monitored which is useful for users except
>>     > TOTAL_POINTS still need to be discussed. Welcome to any ideas.
>>     >
>>     >
>>     >
>>     >
>>     >
>>     > --
>>     > Best,
>>     > Xiangwei Wei
>>     >
>>
>>
>
> --
> Best,
> Xiangwei Wei
>


-- 
Best,
Xiangwei Wei

Reply via email to