Skip to content

Commit 2817b84

Browse files
feat: unify telemetry instrumentation
* Move all telemetry initialization to media_tagging library * Add logger and meter initialization Change-Id: Ibf3f71fe7db612414b8e5d4971e634b2624f62c6
1 parent 860896d commit 2817b84

19 files changed

Lines changed: 207 additions & 159 deletions

File tree

libs/filonov/filonov/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@
1919
Generates creative maps to be viewed via `https://filonov-ai.web.app/`.
2020
"""
2121

22+
import logging
23+
2224
from filonov.creative_map import CreativeMap
2325
from filonov.filonov_service import (
2426
FilonovService,
2527
GenerateCreativeMapRequest,
2628
GenerateTablesRequest,
2729
)
2830

31+
logging.getLogger(__name__).addHandler(logging.NullHandler())
32+
2933
__all__ = [
3034
'FilonovService',
3135
'GenerateCreativeMapRequest',

libs/filonov/filonov/creative_map.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
from filonov import previews
3838
from filonov.telemetry import tracer
3939

40+
logger = logging.getLogger(__name__)
41+
4042
MetricInfo: TypeAlias = dict[str, int | float]
4143
Info: TypeAlias = dict[str, int | float | str | list[str] | None]
4244

@@ -229,13 +231,13 @@ def convert_report_to_media_info(
229231
if isinstance(media_type, str):
230232
media_type = media.MediaTypeEnum[media_type.upper()]
231233
if with_size_base and with_size_base not in performance.column_names:
232-
logging.warning('Failed to set MediaInfo size to %s', with_size_base)
234+
logger.warning('Failed to set MediaInfo size to %s', with_size_base)
233235
with_size_base = None
234236
if with_size_base:
235237
try:
236238
float(performance[0][with_size_base])
237239
except TypeError:
238-
logging.warning('MediaInfo size attribute should be numeric')
240+
logger.warning('MediaInfo size attribute should be numeric')
239241
with_size_base = None
240242

241243
if modules:

libs/filonov/filonov/entrypoints/cli.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,18 @@
2727
from media_fetching.sources import models
2828
from media_tagging import media
2929
from media_tagging.entrypoints import utils as tagging_utils
30+
from media_tagging.entrypoints.tracer import (
31+
initialize_logger,
32+
initialize_tracer,
33+
)
3034
from opentelemetry import trace
3135
from typing_extensions import Annotated
3236

3337
import filonov
3438
from filonov.entrypoints import utils
35-
from filonov.entrypoints.tracer import initialize_tracer
3639
from filonov.telemetry import tracer
3740

38-
initialize_tracer()
41+
initialize_tracer('filonov')
3942
typer_app = typer.Typer()
4043

4144
Tagger = Annotated[
@@ -163,9 +166,11 @@ def main(
163166
] = False,
164167
): # noqa: D103
165168
span = trace.get_current_span()
166-
garf_utils.init_logging(
169+
logger = garf_utils.init_logging(
167170
loglevel=loglevel.upper(), logger_type=logger, name=log_name
168171
)
172+
logger.addHandler(initialize_logger('filonov'))
173+
169174
supported_enrichers = (
170175
media_fetching.enrichers.enricher.AVAILABLE_MODULES.keys()
171176
)

libs/filonov/filonov/entrypoints/tracer.py

Lines changed: 0 additions & 42 deletions
This file was deleted.

libs/filonov/filonov/filonov_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
from filonov import creative_map, exceptions
3737
from filonov.telemetry import tracer
3838

39-
logger = logging.getLogger('filonov')
39+
logger = logging.getLogger(__name__)
4040

4141

4242
class SimilarityParameters(pydantic.BaseModel):

libs/filonov/pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ ui = [
4040
playwright = [
4141
"playwright",
4242
]
43+
gcp= [
44+
"media-tagging[gcp]",
45+
]
4346
all = [
4447
"filonov[server,ui,playwright]"
4548
]

libs/media-fetching/media_fetching/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
# pylint: disable=C0330, g-bad-import-order, g-multiple-import
1818

19+
import logging
20+
1921
from media_fetching.media_fetching_service import MediaFetchingService
2022
from media_fetching.sources.dbm import BidManagerFetchingParameters
2123
from media_fetching.sources.fake import FakeFetchingParameters
@@ -27,6 +29,8 @@
2729
)
2830
from media_fetching.sources.youtube import YouTubeFetchingParameters
2931

32+
logging.getLogger(__name__).addHandler(logging.NullHandler())
33+
3034
__all__ = [
3135
'MediaFetchingService',
3236
]

libs/media-fetching/media_fetching/entrypoints/cli.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,16 @@
2323
from garf.io import writer as garf_writer
2424
from media_tagging import media
2525
from media_tagging.entrypoints import utils as tagging_utils
26+
from media_tagging.entrypoints.tracer import (
27+
initialize_logger,
28+
initialize_tracer,
29+
)
2630
from typing_extensions import Annotated
2731

2832
import media_fetching
2933
from media_fetching.sources import fetcher, models
3034

35+
initialize_tracer('media-fetching')
3136
typer_app = typer.Typer()
3237

3338

@@ -112,9 +117,10 @@ def main(
112117
),
113118
] = False,
114119
): # noqa: D103
115-
garf_utils.init_logging(
116-
loglevel=loglevel.upper(), logger_type=logger, name=log_name
120+
logger = garf_utils.init_logging(
121+
logger_type=logger, loglevel=loglevel.upper(), name=log_name
117122
)
123+
logger.addHandler(initialize_logger('media-fetching'))
118124

119125
supported_enrichers = (
120126
media_fetching.enrichers.enricher.AVAILABLE_MODULES.keys()

libs/media-fetching/media_fetching/entrypoints/tracer.py

Lines changed: 0 additions & 42 deletions
This file was deleted.

libs/media-fetching/media_fetching/media_fetching_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from media_fetching.sources import fetcher, models
3232
from media_fetching.telemetry import tracer
3333

34-
logger = logging.getLogger('media-fetching')
34+
logger = logging.getLogger(__name__)
3535

3636

3737
class MediaFetchingService:

0 commit comments

Comments
 (0)