Skip to content

Conversation

@dalpasso
Copy link
Collaborator

@dalpasso dalpasso commented Nov 30, 2023

Implemented OpenTelemetry metrics with Prometheus exporter.

Metrics implemented:

  • number of searches by product type
  • data downloaded from each provider
  • number available providers
  • number available product types

Aligning the metrics' code with EODAG's code

The functions in opentelemetry/instrumentation/eodag/__init__.py decorated with @functools.wraps must match the one of the wrapped function in EODAG.

Instructions to run the metrics

Start the OTEL collector:

docker compose -f docker-compose.yml up otel-collector

Set the following environment variables:

export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318/"
export OTEL_METRIC_EXPORT_INTERVAL="5000"

Setting OTEL_METRIC_EXPORT_INTERVAL is optional but useful during tests. The interval is in milliseconds.

Run EODAG in server mode with the --observability option:

eodag serve-rest --observability

The metrics are available on http://localhost:8000/metrics

@dalpasso dalpasso requested a review from sbrunato November 30, 2023 08:48
@dalpasso dalpasso self-assigned this Nov 30, 2023
@dalpasso dalpasso linked an issue Nov 30, 2023 that may be closed by this pull request
@github-actions
Copy link
Contributor

github-actions bot commented Nov 30, 2023

Test Results

    4 files  ±0      4 suites  ±0   4m 6s ⏱️ -10s
  745 tests ±0    742 ✅ ±0    3 💤 ±0  0 ❌ ±0 
2 980 runs  ±0  2 878 ✅ ±0  102 💤 ±0  0 ❌ ±0 

Results for commit 85f5b52. ± Comparison against base commit e931ca1.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 30, 2023

Code Coverage (Ubuntu)

File Coverage
All files 63%

Minimum allowed coverage is 70%

Generated by 🐒 cobertura-action against 2fa09fc

@github-actions
Copy link
Contributor

github-actions bot commented Nov 30, 2023

Code Coverage (Windows)

File Coverage
All files 20%

Minimum allowed coverage is 70%

Generated by 🐒 cobertura-action against 7edfabe

@dalpasso dalpasso force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from 79d31be to 8cf83ef Compare December 13, 2023 13:51
@sbrunato sbrunato force-pushed the 853-opentelemetry-metrics-for-server-mode branch from 7afb97b to 08eee64 Compare December 15, 2023 07:58
@dalpasso dalpasso force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from 2fa09fc to a515210 Compare January 11, 2024 14:57
@alambare alambare force-pushed the 853-opentelemetry-metrics-for-server-mode branch from a515210 to 0205ce5 Compare January 13, 2024 23:56
@sbrunato sbrunato added the pending Waiting for further information / action label Mar 5, 2024
@dalpasso dalpasso force-pushed the 853-opentelemetry-metrics-for-server-mode branch from abc6c8e to 34848a5 Compare May 16, 2024 12:26
@github-actions
Copy link
Contributor

github-actions bot commented May 16, 2024

badge

Code Coverage (Ubuntu)

Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         321      67  79.13%   662-733, 835-886, 890
config.py                                      367      27  92.64%   82-84, 93, 101, 105-107, 175, 186, 452-454, 514-517, 560-561, 570-571, 676, 739-744, 746
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    769      74  90.38%   635, 679-682, 720, 764, 798, 851-856, 882, 973, 1041, 1179, 1264-1276, 1312, 1314, 1342, 1346-1357, 1370-1376, 1459-1462, 1495-1515, 1567, 1584-1588, 1600-1603, 1625-1632, 1942, 1966-1972, 2223, 2227-2230, 2241-2243, 2275
api/search_result.py                            59       4  93.22%   83, 92, 99, 113
api/product/__init__.py                          6       0  100.00%
api/product/_assets.py                          48       5  89.58%   75, 147, 155, 158-162
api/product/_product.py                        187      20  89.30%   70-72, 237-238, 313, 342, 399, 413-416, 429, 453-456, 499-505
api/product/metadata_mapping.py                680      68  90.00%   130-132, 227, 259-260, 306-307, 317-329, 331, 342, 348-360, 405-406, 443, 464-467, 490, 498-499, 575-576, 600-601, 607-610, 625-626, 775, 821, 992-997, 1124, 1138-1158, 1178, 1183, 1312, 1326, 1397, 1449, 1489-1493, 1508
api/product/drivers/__init__.py                  6       0  100.00%
api/product/drivers/base.py                      6       1  83.33%   38
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 21       2  90.48%   48, 55
plugins/manager.py                             130      12  90.77%   104-109, 159, 197, 219, 223, 247, 281-282
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           91       8  91.21%   149-151, 198-199, 225-227
plugins/apis/usgs.py                           180      31  82.78%   132, 234, 268, 303-305, 310, 336-337, 342, 372-379, 390-395, 417-423, 425-431, 454
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py              19       0  100.00%
plugins/authentication/base.py                  17       2  88.24%   34, 47
plugins/authentication/generic.py               14       2  85.71%   40, 50
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              48       4  91.67%   134, 160-165
plugins/authentication/oauth.py                 13       7  46.15%   32-34, 38-41
plugins/authentication/openid_connect.py       187      17  90.91%   114, 128-154, 162, 316-319, 345
plugins/authentication/qsauth.py                34       1  97.06%   83
plugins/authentication/sas_auth.py              47       1  97.87%   76
plugins/authentication/token.py                 89      16  82.02%   79, 108, 110, 133-146, 202-206
plugins/authentication/token_exchange.py        36      20  44.44%   74-80, 92-122
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   40
plugins/crunch/filter_date.py                   59      14  76.27%   49-54, 66, 75, 84, 87, 99-101, 110-112, 119
plugins/crunch/filter_latest_intersect.py       47       8  82.98%   51-52, 68, 77-80, 82, 89-92
plugins/crunch/filter_latest_tpl_name.py        31       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 68-71, 78-81, 87, 95, 106-122
plugins/crunch/filter_property.py               30       7  76.67%   54-59, 62-63, 79-83
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        492     163  66.87%   266, 279, 346-349, 368-372, 414-416, 420, 452-453, 459-463, 492, 524, 528, 535, 565-573, 577, 609-617, 628-630, 661-735, 753-813, 824-829, 841-854, 879, 894-896, 899, 909-917, 925-938, 948-979, 986-998, 1036, 1062, 1107-1109, 1329
plugins/download/base.py                       259      51  80.31%   137, 165, 297-298, 315-321, 352-356, 362-363, 405, 408-422, 434, 438, 502-506, 536-537, 545-562, 569-577, 579-583, 626, 648, 670, 678
plugins/download/creodias_s3.py                 17       9  47.06%   44-58
plugins/download/http.py                       535     129  75.89%   195-207, 209-210, 242-245, 306-309, 311-312, 319-324, 342-357, 374-376, 388, 436, 443-449, 467, 481, 495, 503-505, 521-526, 537, 555, 597-601, 623, 663, 708, 722-728, 757-821, 839, 869-878, 900-901, 928-933, 939, 942, 958, 975-976, 1011-1012, 1019, 1080-1086, 1141-1142, 1148, 1158, 1194, 1230, 1248-1261, 1287-1289
plugins/download/s3rest.py                     117      24  79.49%   113, 149, 156, 191, 218-225, 228-230, 234, 245-251, 259-260, 263-267, 290, 311-314
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         132      13  90.15%   102, 106, 117, 276, 296, 352-353, 373, 376-384
plugins/search/build_search_result.py          189      24  87.30%   96, 137-138, 144, 155, 289-292, 321, 356-373, 422, 451, 454, 464, 481, 509, 511
plugins/search/cop_marine.py                   236      50  78.81%   55, 63-65, 75-76, 81, 86-87, 103, 105, 108, 143-145, 157-158, 200, 206, 210, 214, 227, 238-239, 247, 275, 279, 294, 298, 302, 306, 310-314, 320-323, 326-340, 357, 406-410, 415, 427
plugins/search/creodias_s3.py                   55       3  94.55%   58, 76, 110
plugins/search/csw.py                          105      81  22.86%   58-59, 63-64, 72-120, 126-139, 147-179, 197-238
plugins/search/data_request_search.py          202      69  65.84%   90-93, 109, 120, 124-125, 136, 141, 146, 153, 166-169, 223-224, 228, 238-244, 249, 275-278, 286-297, 314, 316, 323-326, 328-329, 347-351, 384, 394, 405, 418, 424-439, 444
plugins/search/qssearch.py                     718      96  86.63%   390, 394-400, 408-409, 515-527, 571, 587, 597, 616-631, 668-671, 742-743, 791, 810, 817, 829, 886, 907, 910-911, 920-921, 930-931, 940-941, 968, 1039-1044, 1048-1057, 1091, 1113, 1173, 1222, 1286, 1289-1290, 1372-1376, 1438, 1441, 1447-1448, 1469, 1496-1508, 1515, 1547-1549, 1559-1565, 1595, 1618, 1633, 1649, 1724-1727, 1732-1735, 1762-1763, 1778
plugins/search/static_stac_search.py            72      10  86.11%   98-125, 141, 154
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33       7  78.79%   35-37, 53-55, 59, 68
rest/config.py                                  26       0  100.00%
rest/constants.py                                6       0  100.00%
rest/core.py                                   251      64  74.50%   216-217, 273, 281, 298-316, 331-369, 460, 502-533, 680, 687-735
rest/errors.py                                  67       5  92.54%   106, 116, 127, 140-141
rest/server.py                                 188      24  87.23%   89, 112-114, 275-280, 308, 493-495, 512-517, 546, 548, 552-553, 557-558
rest/stac.py                                   319      63  80.25%   306, 328, 380-383, 410-437, 468-470, 493, 525-526, 608-648, 670-686, 778-782, 789, 843-844, 905, 995-997
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     176       5  97.16%   225-229, 282, 285, 353
rest/types/queryables.py                        56       1  98.21%   164
rest/types/stac_search.py                      126       7  94.44%   129, 175, 190-192, 200, 204
rest/utils/__init__.py                          93      12  87.10%   108-109, 128-130, 182, 192-206
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/observability.py                     33      33  0.00%    27-133
rest/utils/rfc3339.py                           23       3  86.96%   48, 60, 62
types/__init__.py                              114      14  87.72%   53, 70, 129-132, 199, 213-222, 232, 253, 266
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                             81       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/whoosh.py                                 15       0  100.00%
utils/__init__.py                              500      37  92.60%   85, 90, 194-195, 204-231, 234, 248, 328-332, 406-410, 429-431, 510, 525, 561-562, 926-929, 937-938, 976-977, 1148
utils/constraints.py                           119      38  68.07%   62, 89-98, 139, 144, 148, 159, 182-184, 194, 208-224, 233-244
utils/exceptions.py                             40       2  95.00%   98-99
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   30       8  73.33%   36, 38, 42, 76, 94-101
utils/requests.py                               55      11  80.00%   64, 86, 88, 90, 92, 94, 110, 118-120, 128
utils/rest.py                                   36       1  97.22%   55
utils/stac_reader.py                           111      45  59.46%   56-57, 63-85, 95-97, 101, 137, 153-156, 203-212, 222-252
TOTAL                                         9596    1646  82.85%

Diff against develop

Filename                       Stmts    Miss  Cover
---------------------------  -------  ------  --------
cli.py                            +9      +8  -1.96%
plugins/download/aws.py           +1       0  +0.07%
plugins/download/base.py          +6       0  +0.47%
plugins/download/http.py          +1       0  +0.05%
plugins/download/s3rest.py        +1       0  +0.18%
rest/utils/observability.py      +33     +33  +100.00%
TOTAL                            +51     +41  -0.33%

Results for commit: fb7e7e6

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@github-actions
Copy link
Contributor

github-actions bot commented May 16, 2024

badge

Code Coverage (Windows)

Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         321      67  79.13%   662-733, 835-886, 890
config.py                                      367      28  92.37%   82-84, 93, 101, 105-107, 175, 186, 452-454, 514-517, 560-561, 570-571, 676, 707, 739-744, 746
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    769      74  90.38%   635, 679-682, 720, 764, 798, 851-856, 882, 973, 1041, 1179, 1264-1276, 1312, 1314, 1342, 1346-1357, 1370-1376, 1459-1462, 1495-1515, 1567, 1584-1588, 1600-1603, 1625-1632, 1942, 1966-1972, 2223, 2227-2230, 2241-2243, 2275
api/search_result.py                            59       4  93.22%   83, 92, 99, 113
api/product/__init__.py                          6       0  100.00%
api/product/_assets.py                          48       5  89.58%   75, 147, 155, 158-162
api/product/_product.py                        187      20  89.30%   70-72, 237-238, 313, 342, 399, 413-416, 429, 453-456, 499-505
api/product/metadata_mapping.py                680      68  90.00%   130-132, 227, 259-260, 306-307, 317-329, 331, 342, 348-360, 405-406, 443, 464-467, 490, 498-499, 575-576, 600-601, 607-610, 625-626, 775, 821, 992-997, 1124, 1138-1158, 1178, 1183, 1312, 1326, 1397, 1449, 1489-1493, 1508
api/product/drivers/__init__.py                  6       0  100.00%
api/product/drivers/base.py                      6       1  83.33%   38
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 21       3  85.71%   48, 55, 68
plugins/manager.py                             130      12  90.77%   104-109, 159, 197, 219, 223, 247, 281-282
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           91       8  91.21%   149-151, 198-199, 225-227
plugins/apis/usgs.py                           180      31  82.78%   132, 234, 268, 303-305, 310, 336-337, 342, 372-379, 390-395, 417-423, 425-431, 454
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py              19       0  100.00%
plugins/authentication/base.py                  17       2  88.24%   34, 47
plugins/authentication/generic.py               14       2  85.71%   40, 50
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              48       4  91.67%   134, 160-165
plugins/authentication/oauth.py                 13       7  46.15%   32-34, 38-41
plugins/authentication/openid_connect.py       187      17  90.91%   114, 128-154, 162, 316-319, 345
plugins/authentication/qsauth.py                34       1  97.06%   83
plugins/authentication/sas_auth.py              47       1  97.87%   76
plugins/authentication/token.py                 89      16  82.02%   79, 108, 110, 133-146, 202-206
plugins/authentication/token_exchange.py        36      20  44.44%   74-80, 92-122
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   40
plugins/crunch/filter_date.py                   59      14  76.27%   49-54, 66, 75, 84, 87, 99-101, 110-112, 119
plugins/crunch/filter_latest_intersect.py       47      33  29.79%   48-53, 66-111
plugins/crunch/filter_latest_tpl_name.py        31       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 68-71, 78-81, 87, 95, 106-122
plugins/crunch/filter_property.py               30       7  76.67%   54-59, 62-63, 79-83
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        492     163  66.87%   266, 279, 346-349, 368-372, 414-416, 420, 452-453, 459-463, 492, 524, 528, 535, 565-573, 577, 609-617, 628-630, 661-735, 753-813, 824-829, 841-854, 879, 894-896, 899, 909-917, 925-938, 948-979, 986-998, 1036, 1062, 1107-1109, 1329
plugins/download/base.py                       259      53  79.54%   137, 165, 232-234, 297-298, 315-321, 352-356, 362-363, 405, 408-422, 434, 438, 502-506, 536-537, 545-562, 569-577, 579-583, 626, 648, 670, 678
plugins/download/creodias_s3.py                 17       9  47.06%   44-58
plugins/download/http.py                       535     130  75.70%   195-207, 209-210, 242-245, 306-309, 311-312, 319-324, 342-357, 374-376, 388, 436, 443-449, 467, 481, 495, 503-505, 521-526, 537, 555, 597-601, 623, 663, 708, 722-728, 757-821, 839, 869-878, 900-901, 928-933, 939, 942, 958, 975-976, 989, 1011-1012, 1019, 1080-1086, 1141-1142, 1148, 1158, 1194, 1230, 1248-1261, 1287-1289
plugins/download/s3rest.py                     117      24  79.49%   113, 149, 156, 191, 218-225, 228-230, 234, 245-251, 259-260, 263-267, 290, 311-314
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         132      14  89.39%   102, 106, 117, 276, 296, 352-353, 373, 376-384, 386
plugins/search/build_search_result.py          189      31  83.60%   96, 137-138, 144, 155, 289-292, 321, 356-373, 422, 451, 454, 464, 481, 501-516
plugins/search/cop_marine.py                   236      50  78.81%   55, 63-65, 75-76, 81, 86-87, 103, 105, 108, 143-145, 157-158, 200, 206, 210, 214, 227, 238-239, 247, 275, 279, 294, 298, 302, 306, 310-314, 320-323, 326-340, 357, 406-410, 415, 427
plugins/search/creodias_s3.py                   55       3  94.55%   58, 76, 110
plugins/search/csw.py                          105      81  22.86%   58-59, 63-64, 72-120, 126-139, 147-179, 197-238
plugins/search/data_request_search.py          202      69  65.84%   90-93, 109, 120, 124-125, 136, 141, 146, 153, 166-169, 223-224, 228, 238-244, 249, 275-278, 286-297, 314, 316, 323-326, 328-329, 347-351, 384, 394, 405, 418, 424-439, 444
plugins/search/qssearch.py                     718     125  82.59%   390, 394-400, 408-409, 515-527, 571, 574, 587, 597, 616-631, 668-671, 742-743, 791, 810, 817, 829, 886, 907, 910-911, 920-921, 930-931, 940-941, 968, 1039-1044, 1048-1057, 1091, 1113, 1173, 1222, 1286, 1289-1290, 1372-1376, 1438, 1441, 1447-1448, 1469, 1496-1508, 1515, 1547-1549, 1559-1565, 1595, 1618, 1633, 1649, 1707-1807
plugins/search/static_stac_search.py            72      10  86.11%   98-125, 141, 154
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33      22  33.33%   35-37, 44-70
rest/config.py                                  26       1  96.15%   36
rest/constants.py                                6       0  100.00%
rest/core.py                                   251     139  44.62%   162, 164, 166, 169-170, 184-194, 206-207, 209-210, 216-217, 220, 223, 264-318, 331-369, 400-434, 449-465, 481-490, 502-533, 550, 592-641, 680, 687-735
rest/errors.py                                  67      47  29.85%   60, 65-100, 105-108, 115-118, 126-144, 152-157, 172-178
rest/server.py                                 188     188  0.00%    18-571
rest/stac.py                                   319      68  78.68%   240, 306, 328, 380-383, 410-437, 468-470, 493, 525-526, 608-648, 670-686, 713, 778-782, 789, 843-844, 850, 905, 943, 976, 995-997
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     176      16  90.91%   225-229, 262-264, 282, 285, 291, 295, 353, 370-380
rest/types/queryables.py                        56      13  76.79%   51-52, 59-60, 67-68, 94-99, 108-109, 164
rest/types/stac_search.py                      126      11  91.27%   127-129, 175, 190-192, 200, 204, 252, 255
rest/utils/__init__.py                          93      30  67.74%   79-85, 105, 108-109, 128-130, 143, 150, 175-183, 190-211
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/observability.py                     33      33  0.00%    27-133
rest/utils/rfc3339.py                           23       5  78.26%   43-44, 48, 60, 62
types/__init__.py                              114      39  65.79%   53, 66-70, 81-93, 120-122, 129-132, 172, 199, 209-225, 230, 232, 253, 258, 266, 276
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                             81       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/whoosh.py                                 15       0  100.00%
utils/__init__.py                              500      37  92.60%   85, 90, 194-195, 204-231, 234, 248, 328-332, 406-410, 429-431, 510, 525, 561-562, 926-929, 937-938, 976-977, 1148
utils/constraints.py                           119      38  68.07%   62, 89-98, 139, 144, 148, 159, 182-184, 194, 208-224, 233-244
utils/exceptions.py                             40       2  95.00%   98-99
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   30       8  73.33%   36, 38, 42, 76, 94-101
utils/requests.py                               55      11  80.00%   64, 86, 88, 90, 92, 94, 110, 118-120, 128
utils/rest.py                                   36       1  97.22%   55
utils/stac_reader.py                           111      45  59.46%   56-57, 63-85, 95-97, 101, 137, 153-156, 203-212, 222-252
TOTAL                                         9596    2087  78.25%

Diff against develop

Filename                       Stmts    Miss  Cover
---------------------------  -------  ------  --------
cli.py                            +9      +8  -1.96%
plugins/download/aws.py           +1       0  +0.07%
plugins/download/base.py          +6       0  +0.49%
plugins/download/http.py          +1       0  +0.04%
plugins/download/s3rest.py        +1       0  +0.18%
rest/utils/observability.py      +33     +33  +100.00%
TOTAL                            +51     +41  -0.31%

Results for commit: fb7e7e6

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@dalpasso dalpasso force-pushed the 853-opentelemetry-metrics-for-server-mode branch from 0c83fc7 to b87329b Compare May 16, 2024 16:10
@dalpasso dalpasso requested a review from alambare May 22, 2024 07:49
@dalpasso dalpasso marked this pull request as ready for review May 22, 2024 07:49
@dalpasso
Copy link
Collaborator Author

dalpasso commented May 22, 2024

Instructions to run the metrics.

Start the OTEL collector:

docker compose -f docker-compose.yml up otel-collector

Set the following environment variables:

export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318/"
export OTEL_METRIC_EXPORT_INTERVAL="5000"

Run EODAG in server mode with the --observability option:

eodag serve-rest --observability

The metrics are available on http://localhost:8000/metrics

@dalpasso dalpasso force-pushed the 853-opentelemetry-metrics-for-server-mode branch from ae8bba6 to 96e5a8a Compare May 28, 2024 11:26
@dalpasso dalpasso marked this pull request as draft June 5, 2024 08:38
@dalpasso dalpasso force-pushed the 853-opentelemetry-metrics-for-server-mode branch from a734773 to 1745179 Compare June 10, 2024 09:46
@dalpasso dalpasso force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from f318379 to eb85724 Compare June 19, 2024 07:06
@alambare alambare force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from 7d450d6 to bb1ca21 Compare June 21, 2024 04:48
@alambare alambare force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from 73b94a0 to f862a02 Compare July 11, 2024 16:12
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch from 1db5715 to 2c709e1 Compare February 6, 2025 13:34
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from d94b2c3 to fd9c39b Compare March 7, 2025 16:50
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch from fd9c39b to 4727485 Compare April 29, 2025 12:40
@eodag-bot
Copy link
Collaborator

eodag-bot commented Apr 29, 2025

badge

Code Coverage (Ubuntu)

Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         343      76  77.84%   64-65, 89, 129-131, 728-804, 906-957, 961
config.py                                      453      30  93.38%   81-83, 92, 100, 104-106, 177, 188, 205-206, 732-734, 858-861, 905-906, 915-916, 950, 1030, 1089-1094, 1096
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    788      47  94.04%   337, 604, 635, 679-682, 720, 764, 798, 843-848, 874, 960, 1300, 1342, 1376-1387, 1491-1494, 1531-1551, 1620-1625, 1637-1640, 2222, 2285-2286, 2315-2316
api/search_result.py                           126      12  90.48%   87, 96, 103, 117, 282, 287-288, 322, 336, 359-360, 366
api/product/__init__.py                         18       1  94.44%   62
api/product/_assets.py                          52       5  90.38%   97, 183, 191, 194-198
api/product/_product.py                        213      19  91.08%   72-74, 238-239, 345, 372, 473, 491, 515-518, 527-530, 585-588
api/product/metadata_mapping.py                776      44  94.33%   123-125, 259-260, 367, 419-420, 457, 478-481, 504, 516-517, 554, 620-625, 637, 645, 749-750, 958, 1111, 1120-1124, 1141-1146, 1273, 1296, 1305, 1327, 1332, 1456, 1498, 1512, 1537, 1583, 1652, 1724
api/product/drivers/__init__.py                 20       2  90.00%   33-36
api/product/drivers/base.py                     29       1  96.55%   98
api/product/drivers/generic.py                   7       0  100.00%
api/product/drivers/sentinel1.py                15       0  100.00%
api/product/drivers/sentinel2.py                15       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 22       2  90.91%   48, 55
plugins/manager.py                             173      19  89.02%   106-111, 146-151, 155, 193, 215, 219, 243, 282-283, 383-386, 398-399
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           97      10  89.69%   167-169, 216-217, 243-245, 298-299
plugins/apis/usgs.py                           180      26  85.56%   157, 259, 293, 328-330, 335, 361-362, 367, 397-404, 415-420, 442-448, 479
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             109      31  71.56%   50-52, 67-68, 136-140, 168-194, 217, 249-253, 270
plugins/authentication/base.py                  19       3  84.21%   46, 59, 82
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       7  84.78%   153-156, 177-182
plugins/authentication/oauth.py                 15       7  53.33%   48-50, 54-57
plugins/authentication/openid_connect.py       233      29  87.55%   91-92, 104-123, 170, 176-204, 212, 351-354, 380, 421
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              53       3  94.34%   67, 88, 134
plugins/authentication/token.py                128       9  92.97%   180, 217, 289-290, 340-344
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   43
plugins/crunch/filter_date.py                   59      14  76.27%   52-57, 69, 78, 87, 90, 100-102, 109-111, 118
plugins/crunch/filter_latest_intersect.py       47       8  82.98%   52-53, 69, 78-81, 83, 90-93
plugins/crunch/filter_latest_tpl_name.py        31       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 66-69, 76-79, 85, 93, 104-120
plugins/crunch/filter_property.py               30       5  83.33%   55-60, 63-64
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        378      70  81.48%   267, 303, 341-344, 364-368, 463-465, 469, 502-503, 509-513, 544, 609-617, 681-778, 789-794, 832, 858, 903-905, 1125
plugins/download/base.py                       260      35  86.54%   130, 159, 306-307, 365-366, 408, 412-423, 437, 505-509, 539-540, 565-573, 575-579, 629, 650, 672, 680
plugins/download/creodias_s3.py                 10       0  100.00%
plugins/download/http.py                       545      77  85.87%   238, 280-283, 345-348, 351, 358-363, 394-396, 413, 428, 482, 517, 531, 545, 553-557, 573-578, 589, 607, 643-646, 667, 677, 684, 704, 839, 871, 901-910, 946, 971-972, 991-996, 1005, 1020-1022, 1026, 1029, 1044-1045, 1123-1124, 1128, 1180, 1226-1227, 1233, 1243, 1271, 1306, 1326, 1363-1365
plugins/download/s3rest.py                     122      26  78.69%   125, 159, 166, 201, 228-235, 238-240, 244, 255-261, 269-270, 273-277, 292-295, 304, 325-328
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         170      14  91.76%   104, 108, 132-138, 275, 296, 435, 457-460, 469
plugins/search/build_search_result.py          480      56  88.33%   246-247, 283, 286, 311, 314, 345-347, 559, 561, 565, 568, 695, 697, 758, 765, 789, 826, 877, 927-942, 990, 1015, 1018, 1022, 1143-1144, 1153-1162, 1225, 1246, 1265-1274, 1391-1392, 1437, 1446-1448, 1508, 1554
plugins/search/cop_marine.py                   254      47  81.50%   56, 64-66, 76-77, 82, 87-88, 104, 106, 109, 175-176, 232, 238, 242, 246, 259, 270-271, 279, 312, 316, 337, 341, 345, 349, 353-357, 363-366, 369-383, 400, 449-453, 458, 470
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          105      81  22.86%   98-99, 103-104, 112-160, 166-179, 187-219, 237-278
plugins/search/data_request_search.py          208      26  87.50%   195-198, 214, 225, 229-230, 241, 246, 251, 258, 271-274, 328-329, 333, 343-349, 354, 501, 511, 522, 535, 561
plugins/search/qssearch.py                     725      69  90.48%   416-417, 558-559, 571-575, 632-648, 765-768, 839-840, 891, 910, 917, 929, 986, 1007, 1010-1011, 1020-1021, 1030-1031, 1040-1041, 1068, 1208, 1231, 1304-1305, 1311, 1401, 1566, 1569, 1575-1576, 1597, 1625-1637, 1644, 1676-1678, 1688-1694, 1724, 1747, 1752-1753, 1768, 1784, 1871, 1878, 1889, 1912-1917, 1926, 1935
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            79      13  83.54%   100-126, 170, 183
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33       7  78.79%   35-37, 53-55, 59, 68
rest/config.py                                  25       0  100.00%
rest/constants.py                                6       0  100.00%
rest/core.py                                   261      60  77.01%   265, 304, 319-355, 451, 488-527, 604, 634-637, 710, 717-764
rest/errors.py                                  74       5  93.24%   126, 136, 147, 172-173
rest/server.py                                 196      24  87.76%   94, 117-119, 293-298, 326, 526-528, 545-550, 579, 581, 585-586, 590-591
rest/stac.py                                   333      71  78.68%   320, 342, 394-397, 424-451, 482-484, 507, 539-540, 622-662, 684-700, 792-796, 854-855, 865-870, 880-884, 933, 1023-1025
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     180       6  96.67%   225-229, 282, 285, 353, 375
rest/types/queryables.py                        64      12  81.25%   61, 71-79, 105-110, 174
rest/types/stac_search.py                      125       7  94.40%   128, 174, 189-191, 199, 203
rest/utils/__init__.py                          94      12  87.23%   101-102, 121-123, 175, 185-199
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/observability.py                     33      33  0.00%    27-133
rest/utils/rfc3339.py                           23       3  86.96%   48, 60, 62
types/__init__.py                              161      40  75.16%   67, 80-84, 95-107, 135-137, 144-149, 252, 262-278, 283, 285, 307, 312, 320, 330
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                            111       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              564      40  92.91%   69, 193-194, 203-229, 232, 247, 327-331, 406-410, 489, 504, 544-545, 574, 949-952, 960-961, 999-1000, 1047-1048, 1188, 1441, 1456, 1465, 1477
utils/cache.py                                  22       0  100.00%
utils/dates.py                                  57       4  92.98%   63-65, 138
utils/env.py                                     3       0  100.00%
utils/exceptions.py                             47       0  100.00%
utils/free_text_search.py                       65       2  96.92%   83, 91
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       8  78.95%   51, 53, 57, 98, 122-129
utils/requests.py                               55      29  47.27%   51-52, 64, 85-96, 107-124, 128
utils/s3.py                                    240      12  95.00%   200-203, 245, 263, 489, 537-538, 585, 660, 686
utils/stac_reader.py                           113      44  61.06%   63-85, 95-97, 101, 138, 154-159, 206-216, 226-256
TOTAL                                        10923    1498  86.29%

Diff against develop

Filename                                    Stmts    Miss  Cover
----------------------------------------  -------  ------  --------
cli.py                                         +9      +8  -1.80%
plugins/authentication/openid_connect.py       +1      +1  -0.38%
rest/utils/observability.py                   +33     +33  +100.00%
utils/s3.py                                     0      -1  +0.42%
TOTAL                                         +43     +41  -0.32%

Results for commit: 85f5b52

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@eodag-bot
Copy link
Collaborator

eodag-bot commented Apr 29, 2025

badge

Code Coverage (Windows)

Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         343      76  77.84%   64-65, 89, 129-131, 728-804, 906-957, 961
config.py                                      453      31  93.16%   81-83, 92, 100, 104-106, 177, 188, 205-206, 732-734, 858-861, 905-906, 915-916, 950, 1030, 1059, 1089-1094, 1096
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    788      47  94.04%   337, 604, 635, 679-682, 720, 764, 798, 843-848, 874, 960, 1300, 1342, 1376-1387, 1491-1494, 1531-1551, 1620-1625, 1637-1640, 2222, 2285-2286, 2315-2316
api/search_result.py                           126      12  90.48%   87, 96, 103, 117, 282, 287-288, 322, 336, 359-360, 366
api/product/__init__.py                         18       1  94.44%   62
api/product/_assets.py                          52       5  90.38%   97, 183, 191, 194-198
api/product/_product.py                        213      19  91.08%   72-74, 238-239, 345, 372, 473, 491, 515-518, 527-530, 585-588
api/product/metadata_mapping.py                776      44  94.33%   123-125, 259-260, 367, 419-420, 457, 478-481, 504, 516-517, 554, 620-625, 637, 645, 749-750, 958, 1111, 1120-1124, 1141-1146, 1273, 1296, 1305, 1327, 1332, 1456, 1498, 1512, 1537, 1583, 1652, 1724
api/product/drivers/__init__.py                 20       2  90.00%   33-36
api/product/drivers/base.py                     29       1  96.55%   98
api/product/drivers/generic.py                   7       0  100.00%
api/product/drivers/sentinel1.py                15       0  100.00%
api/product/drivers/sentinel2.py                15       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 22       4  81.82%   48, 55, 68-69
plugins/manager.py                             173      19  89.02%   106-111, 146-151, 155, 193, 215, 219, 243, 282-283, 383-386, 398-399
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           97      10  89.69%   167-169, 216-217, 243-245, 298-299
plugins/apis/usgs.py                           180      26  85.56%   157, 259, 293, 328-330, 335, 361-362, 367, 397-404, 415-420, 442-448, 479
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             109      31  71.56%   50-52, 67-68, 136-140, 168-194, 217, 249-253, 270
plugins/authentication/base.py                  19       3  84.21%   46, 59, 82
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       7  84.78%   153-156, 177-182
plugins/authentication/oauth.py                 15       7  53.33%   48-50, 54-57
plugins/authentication/openid_connect.py       233      29  87.55%   91-92, 104-123, 170, 176-204, 212, 351-354, 380, 421
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              53       3  94.34%   67, 88, 134
plugins/authentication/token.py                128       9  92.97%   180, 217, 289-290, 340-344
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   43
plugins/crunch/filter_date.py                   59      14  76.27%   52-57, 69, 78, 87, 90, 100-102, 109-111, 118
plugins/crunch/filter_latest_intersect.py       47      33  29.79%   49-54, 67-112
plugins/crunch/filter_latest_tpl_name.py        31       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 66-69, 76-79, 85, 93, 104-120
plugins/crunch/filter_property.py               30       5  83.33%   55-60, 63-64
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        378      70  81.48%   267, 303, 341-344, 364-368, 463-465, 469, 502-503, 509-513, 544, 609-617, 681-778, 789-794, 832, 858, 903-905, 1125
plugins/download/base.py                       260      37  85.77%   130, 159, 226-228, 306-307, 365-366, 408, 412-423, 437, 505-509, 539-540, 565-573, 575-579, 629, 650, 672, 680
plugins/download/creodias_s3.py                 10       0  100.00%
plugins/download/http.py                       545      77  85.87%   238, 280-283, 345-348, 351, 358-363, 394-396, 413, 428, 482, 517, 531, 545, 553-557, 573-578, 589, 607, 643-646, 667, 677, 684, 704, 839, 871, 901-910, 946, 971-972, 991-996, 1005, 1020-1022, 1026, 1029, 1044-1045, 1123-1124, 1128, 1180, 1226-1227, 1233, 1243, 1271, 1306, 1326, 1363-1365
plugins/download/s3rest.py                     122      26  78.69%   125, 159, 166, 201, 228-235, 238-240, 244, 255-261, 269-270, 273-277, 292-295, 304, 325-328
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         170      14  91.76%   104, 108, 132-138, 275, 296, 435, 457-460, 469
plugins/search/build_search_result.py          480      63  86.88%   246-247, 283, 286, 311, 314, 345-347, 557-568, 695, 697, 758, 765, 789, 826, 877, 893, 927-942, 990, 1015, 1018, 1022, 1143-1144, 1153-1162, 1225, 1240, 1246, 1265-1274, 1391-1392, 1437, 1446-1448, 1508, 1554
plugins/search/cop_marine.py                   254      47  81.50%   56, 64-66, 76-77, 82, 87-88, 104, 106, 109, 175-176, 232, 238, 242, 246, 259, 270-271, 279, 312, 316, 337, 341, 345, 349, 353-357, 363-366, 369-383, 400, 449-453, 458, 470
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          105      81  22.86%   98-99, 103-104, 112-160, 166-179, 187-219, 237-278
plugins/search/data_request_search.py          208      26  87.50%   195-198, 214, 225, 229-230, 241, 246, 251, 258, 271-274, 328-329, 333, 343-349, 354, 501, 511, 522, 535, 561
plugins/search/qssearch.py                     725      81  88.83%   416-417, 558-559, 571-575, 632-648, 765-768, 839-840, 891, 910, 917, 929, 986, 1007, 1010-1011, 1020-1021, 1030-1031, 1040-1041, 1068, 1208, 1231, 1304-1305, 1311, 1401, 1498-1502, 1566, 1569, 1575-1576, 1597, 1625-1637, 1644, 1676-1678, 1688-1694, 1724, 1747, 1752-1753, 1768, 1784, 1859, 1871, 1878, 1889, 1912-1917, 1926, 1934-1944, 1962, 1978-1982
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            79      13  83.54%   100-126, 170, 183
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33      22  33.33%   35-37, 44-70
rest/config.py                                  25       1  96.00%   35
rest/constants.py                                6       0  100.00%
rest/core.py                                   261     151  42.15%   164, 166, 168, 171-172, 186-196, 205-206, 212, 215, 256-306, 319-355, 387-425, 440-456, 472-481, 488-527, 544, 586-671, 710, 717-764
rest/errors.py                                  74      51  31.08%   72, 77-120, 125-128, 135-138, 146-176, 184-189, 204-210
rest/server.py                                 196     196  0.00%    18-604
rest/stac.py                                   333      76  77.18%   254, 320, 342, 394-397, 424-451, 482-484, 507, 539-540, 622-662, 684-700, 727, 792-796, 854-855, 861, 865-870, 880-884, 933, 971, 1004, 1023-1025
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     180      20  88.89%   225-229, 262-264, 282, 285, 291, 295, 353, 371-386
rest/types/queryables.py                        64      20  68.75%   54-55, 60-63, 68-79, 105-110, 119-120, 174
rest/types/stac_search.py                      125      11  91.20%   126-128, 174, 189-191, 199, 203, 251, 254
rest/utils/__init__.py                          94      30  68.09%   72-78, 98, 101-102, 121-123, 136, 143, 168-176, 183-204
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/observability.py                     33      33  0.00%    27-133
rest/utils/rfc3339.py                           23       5  78.26%   43-44, 48, 60, 62
types/__init__.py                              161      41  74.53%   67, 80-84, 95-107, 135-137, 144-149, 214, 252, 262-278, 283, 285, 307, 312, 320, 330
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                            111       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              564      40  92.91%   69, 193-194, 203-229, 232, 247, 327-331, 406-410, 489, 504, 544-545, 574, 949-952, 960-961, 999-1000, 1047-1048, 1188, 1441, 1456, 1465, 1477
utils/cache.py                                  22       0  100.00%
utils/dates.py                                  57       4  92.98%   63-65, 138
utils/env.py                                     3       0  100.00%
utils/exceptions.py                             47       0  100.00%
utils/free_text_search.py                       65       2  96.92%   83, 91
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       8  78.95%   51, 53, 57, 98, 122-129
utils/requests.py                               55      29  47.27%   51-52, 64, 85-96, 107-124, 128
utils/s3.py                                    240      12  95.00%   200-203, 245, 263, 489, 537-538, 585, 660, 686
utils/stac_reader.py                           113      44  61.06%   63-85, 95-97, 101, 138, 154-159, 206-216, 226-256
TOTAL                                        10923    1924  82.39%

Diff against develop

Filename                                    Stmts    Miss  Cover
----------------------------------------  -------  ------  --------
cli.py                                         +9      +8  -1.80%
plugins/authentication/openid_connect.py       +1      +1  -0.38%
rest/utils/observability.py                   +33     +33  +100.00%
TOTAL                                         +43     +42  -0.31%

Results for commit: 85f5b52

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch from 67af8ea to c8469cb Compare May 6, 2025 12:01
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from 228746a to 5cead99 Compare May 15, 2025 15:29
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch from 5cead99 to 783e98e Compare June 16, 2025 09:43
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch from 783e98e to cbda6c1 Compare June 24, 2025 08:44
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch from cbda6c1 to f253103 Compare July 15, 2025 13:14
@jlahovnik jlahovnik force-pushed the 853-opentelemetry-metrics-for-server-mode branch 3 times, most recently from 6320bec to b5a46f5 Compare August 1, 2025 11:54
@jlahovnik jlahovnik force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from 403f150 to c849afe Compare September 3, 2025 09:56
@bjgiraudon bjgiraudon force-pushed the 853-opentelemetry-metrics-for-server-mode branch 2 times, most recently from 41976c3 to ce3d829 Compare September 24, 2025 14:11
dalpasso and others added 10 commits September 30, 2025 17:28
feat: add a decorator for the progress_callback

This decorator is used by the auto-instrumentation of EODAG

feat: OpenTelemetry auto-instrumentation

feat: init OpenTelemetry metrics in server mode

The env var OTEL_EXPORTER_OTLP_ENDPOINT must be set to init the metrics

feat: add download overhead metric

feat: add Helm configuration for OpenTelemetry

setup: add `opentelemetry-instrumentation-eodag` dependency as git repo

cli: add option `--observability` to enable the telemetry
@jlahovnik jlahovnik force-pushed the 853-opentelemetry-metrics-for-server-mode branch from ce3d829 to 85f5b52 Compare September 30, 2025 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending Waiting for further information / action

Projects

None yet

Development

Successfully merging this pull request may close these issues.

prometheus metrics for server mode

7 participants