Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[metric][fix] replace static class with singleton #730

Merged
merged 3 commits into from
Jul 30, 2024

Conversation

qicosmos
Copy link
Collaborator

@qicosmos qicosmos commented Jul 30, 2024

Why

to solve static member init order problem.

What is changing

Example

Copy link

Code Coverage Report
for detail, goto summary download Artifacts

Filename                                          Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/channel.hpp                                      15                 0   100.00%         109                 3    97.25%          34                 3    91.18%
coro_io/client_pool.hpp                                  27                 0   100.00%         305                42    86.23%         104                36    65.38%
coro_io/coro_file.hpp                                    34                 0   100.00%         246                25    89.84%          44                19    56.82%
coro_io/coro_io.hpp                                      56                 8    85.71%         390                85    78.21%          10                 2    80.00%
coro_io/detail/client_queue.hpp                          10                 1    90.00%          47                 5    89.36%          10                 2    80.00%
coro_io/io_context_pool.hpp                              37                 5    86.49%         215                26    87.91%          28                 8    71.43%
coro_io/rate_limiter.hpp                                 13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                          3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                 8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                        46                10    78.26%         467                74    84.15%         114                39    65.79%
coro_rpc/impl/coro_rpc_client.hpp                        64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                        21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                    18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp              9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp           3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                 22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                             3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                              17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                     23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                       17                 0   100.00%         121                14    88.43%          16                 2    87.50%
reflection/member_count.hpp                               2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_ptr.hpp                                 3                 0   100.00%          23                 0   100.00%           0                 0         -
reflection/template_switch.hpp                            2                 1    50.00%         528               512     3.03%         514               251    51.17%
struct_pack.hpp                                          35                 2    94.29%         320                28    91.25%          34                14    58.82%
struct_pack/alignment.hpp                                 9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                           21                 5    76.19%         406                81    80.05%          32                 7    78.12%
struct_pack/compatible.hpp                                6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                           14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                            9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                               11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                               1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                            27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                   23                 2    91.30%         495                20    95.96%          48                 9    81.25%
struct_pack/reflection.hpp                               14                 8    42.86%        1860               105    94.35%           0                 0         -
struct_pack/size_info.hpp                                 2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                              4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                    21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                           37                30    18.92%         753               576    23.51%           0                 0         -
struct_pack/type_id.hpp                                   4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                 50                 5    90.00%        1298               141    89.14%         212                89    58.02%
struct_pack/user_helper.hpp                               6                 0   100.00%          63                 2    96.83%           2                 1    50.00%
struct_pack/util.h                                       12                 7    41.67%         105                61    41.90%           2                 0   100.00%
struct_pack/varint.hpp                                   23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                   78                19    75.64%        1251               567    54.68%         292               153    47.60%
util/dragonbox.h                                         90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                 6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                        93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                      2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                      1                 1     0.00%          56                56     0.00%           0                 0         -
util/meta_string.hpp                                     10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                         21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                        1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                       0                 0         -           0                 0         -           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                  1084               232    78.60%       14027              4230    69.84%        2218               924    58.34%

Copy link

Code Coverage Report
for detail, goto summary download Artifacts

Filename                                          Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/channel.hpp                                      15                 0   100.00%         109                 3    97.25%          34                 3    91.18%
coro_io/client_pool.hpp                                  27                 0   100.00%         305                40    86.89%         104                35    66.35%
coro_io/coro_file.hpp                                    34                 0   100.00%         246                25    89.84%          44                19    56.82%
coro_io/coro_io.hpp                                      56                 8    85.71%         390                85    78.21%          10                 2    80.00%
coro_io/detail/client_queue.hpp                          10                 1    90.00%          47                 1    97.87%          10                 1    90.00%
coro_io/io_context_pool.hpp                              37                 5    86.49%         215                26    87.91%          28                 8    71.43%
coro_io/rate_limiter.hpp                                 13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                          3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                 8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                        46                10    78.26%         467                74    84.15%         114                37    67.54%
coro_rpc/impl/coro_rpc_client.hpp                        64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                        21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                    18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp              9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp           3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                 22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                             3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                              17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                     23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                       17                 0   100.00%         121                14    88.43%          16                 2    87.50%
reflection/member_count.hpp                               2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_ptr.hpp                                 3                 0   100.00%          23                 0   100.00%           0                 0         -
reflection/template_switch.hpp                            2                 1    50.00%         528               512     3.03%         514               251    51.17%
struct_pack.hpp                                          35                 2    94.29%         320                28    91.25%          34                14    58.82%
struct_pack/alignment.hpp                                 9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                           21                 5    76.19%         406                81    80.05%          32                 7    78.12%
struct_pack/compatible.hpp                                6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                           14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                            9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                               11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                               1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                            27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                   23                 2    91.30%         495                20    95.96%          48                 9    81.25%
struct_pack/reflection.hpp                               14                 8    42.86%        1860               105    94.35%           0                 0         -
struct_pack/size_info.hpp                                 2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                              4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                    21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                           37                30    18.92%         753               576    23.51%           0                 0         -
struct_pack/type_id.hpp                                   4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                 50                 5    90.00%        1298               141    89.14%         212                89    58.02%
struct_pack/user_helper.hpp                               6                 0   100.00%          63                 2    96.83%           2                 1    50.00%
struct_pack/util.h                                       12                 7    41.67%         105                61    41.90%           2                 0   100.00%
struct_pack/varint.hpp                                   23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                   78                19    75.64%        1251               574    54.12%         292               159    45.55%
util/dragonbox.h                                         90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                 6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                        93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                      2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                      1                 1     0.00%          56                56     0.00%           0                 0         -
util/meta_string.hpp                                     10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                         21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                        1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                       0                 0         -           0                 0         -           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                  1084               232    78.60%       14027              4231    69.84%        2218               926    58.25%

Copy link

Code Coverage Report
for detail, goto summary download Artifacts

Filename                                          Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/channel.hpp                                      15                 0   100.00%         109                 3    97.25%          34                 3    91.18%
coro_io/client_pool.hpp                                  27                 0   100.00%         305                43    85.90%         104                38    63.46%
coro_io/coro_file.hpp                                    34                 0   100.00%         246                25    89.84%          44                19    56.82%
coro_io/coro_io.hpp                                      56                 8    85.71%         390                85    78.21%          10                 2    80.00%
coro_io/detail/client_queue.hpp                          10                 1    90.00%          47                 5    89.36%          10                 2    80.00%
coro_io/io_context_pool.hpp                              37                 5    86.49%         215                26    87.91%          28                 8    71.43%
coro_io/rate_limiter.hpp                                 13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                          3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                 8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                        46                10    78.26%         467                74    84.15%         114                38    66.67%
coro_rpc/impl/coro_rpc_client.hpp                        64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                        21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                    18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp              9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp           3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                 22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                             3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                              17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                     23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                       17                 0   100.00%         121                14    88.43%          16                 2    87.50%
reflection/member_count.hpp                               2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_ptr.hpp                                 3                 0   100.00%          23                 0   100.00%           0                 0         -
reflection/template_switch.hpp                            2                 1    50.00%         528               512     3.03%         514               251    51.17%
struct_pack.hpp                                          35                 2    94.29%         320                28    91.25%          34                14    58.82%
struct_pack/alignment.hpp                                 9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                           21                 5    76.19%         406                81    80.05%          32                 7    78.12%
struct_pack/compatible.hpp                                6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                           14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                            9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                               11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                               1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                            27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                   23                 2    91.30%         495                20    95.96%          48                 9    81.25%
struct_pack/reflection.hpp                               14                 8    42.86%        1860               105    94.35%           0                 0         -
struct_pack/size_info.hpp                                 2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                              4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                    21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                           37                30    18.92%         753               576    23.51%           0                 0         -
struct_pack/type_id.hpp                                   4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                 50                 5    90.00%        1298               141    89.14%         212                89    58.02%
struct_pack/user_helper.hpp                               6                 0   100.00%          63                 2    96.83%           2                 1    50.00%
struct_pack/util.h                                       12                 7    41.67%         105                61    41.90%           2                 0   100.00%
struct_pack/varint.hpp                                   23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                   78                19    75.64%        1251               575    54.04%         292               156    46.58%
util/dragonbox.h                                         90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                 6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                        93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                      2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                      1                 1     0.00%          56                56     0.00%           0                 0         -
util/meta_string.hpp                                     10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                         21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                        1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                       0                 0         -           0                 0         -           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                  1084               232    78.60%       14027              4239    69.78%        2218               928    58.16%

@qicosmos qicosmos merged commit 653efe6 into alibaba:main Jul 30, 2024
31 checks passed
@qicosmos qicosmos deleted the fix_metric branch July 30, 2024 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant