Skip to content

Commit

Permalink
#578 fix import errors in gst plugins (#579)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomskikh authored Nov 27, 2023
1 parent ddd3dda commit ee0ebf1
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 32 deletions.
2 changes: 1 addition & 1 deletion savant/deepstream/pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
)
from savant.deepstream.utils.pipeline import (
add_queues_to_pipeline,
build_metrics_exporter,
build_pipeline_stages,
get_pipeline_element_stages,
init_tracing,
Expand All @@ -61,7 +62,6 @@
from savant.gstreamer.pipeline import GstPipeline
from savant.gstreamer.utils import add_buffer_probe, on_pad_event, pad_to_source_id
from savant.meta.constants import PRIMARY_OBJECT_KEY, UNTRACKED_OBJECT_ID
from savant.metrics import build_metrics_exporter
from savant.utils.platform import is_aarch64
from savant.utils.sink_factories import SinkEndOfStream
from savant.utils.source_info import Resolution, SourceInfo, SourceInfoRegistry
Expand Down
22 changes: 20 additions & 2 deletions savant/deepstream/utils/pipeline.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
from typing import Any, Dict, List, Union
from typing import Any, Dict, List, Optional, Union

from savant_rs import init_jaeger_tracer, init_noop_tracer
from savant_rs.pipeline2 import VideoPipelineStagePayloadType
from savant_rs.pipeline2 import VideoPipeline, VideoPipelineStagePayloadType

from savant.config.schema import (
BufferQueuesParameters,
ElementGroup,
MetricsParameters,
Pipeline,
PipelineElement,
PyFuncElement,
TracingParameters,
)
from savant.metrics.base import BaseMetricsExporter
from savant.metrics.prometheus import PrometheusMetricsExporter
from savant.utils.logging import get_logger

logger = get_logger(__name__)
Expand Down Expand Up @@ -167,3 +170,18 @@ def init_tracing(module_name: str, tracing: TracingParameters):
else:
logger.info('No tracing provider specified. Using noop tracer.')
init_noop_tracer()


def build_metrics_exporter(
pipeline: VideoPipeline,
params: MetricsParameters,
) -> Optional[BaseMetricsExporter]:
"""Build metrics exporter."""

if params.provider is None:
return None

if params.provider == 'prometheus':
return PrometheusMetricsExporter(pipeline, params.provider_params)

raise ValueError(f'Unknown metrics provider: {params.provider}')
29 changes: 0 additions & 29 deletions savant/metrics/__init__.py
Original file line number Diff line number Diff line change
@@ -1,30 +1 @@
from typing import Optional

from savant_rs.pipeline2 import VideoPipeline

from savant.config.schema import MetricsParameters
from savant.metrics.base import BaseMetricsExporter
from savant.metrics.metric import Counter, Gauge
from savant.metrics.prometheus import PrometheusMetricsExporter


def build_metrics_exporter(
pipeline: VideoPipeline,
params: MetricsParameters,
) -> Optional[BaseMetricsExporter]:
"""Build metrics exporter."""

if params.provider is None:
return None

if params.provider == 'prometheus':
return PrometheusMetricsExporter(pipeline, params.provider_params)

raise ValueError(f'Unknown metrics provider: {params.provider}')


__all__ = [
'Counter',
'Gauge',
'build_metrics_exporter',
]

0 comments on commit ee0ebf1

Please sign in to comment.