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

add base class for feedback #19265

Merged
merged 4 commits into from
Jun 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sdk/metricsadvisor/azure-ai-metricsadvisor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ detection_config = client.create_detection_configuration(
metric_id=metric_id,
description="anomaly detection config for metric",
whole_series_detection_condition=MetricDetectionCondition(
cross_conditions_operator="OR",
condition_operator="OR",
change_threshold_condition=change_threshold_condition,
hard_threshold_condition=hard_threshold_condition,
smart_detection_condition=smart_detection_condition
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1110,7 +1110,7 @@ def list_data_feeds(
:keyword str data_feed_name: filter data feed by its name.
:keyword data_source_type: filter data feed by its source type.
:paramtype data_source_type: str or ~azure.ai.metricsadvisor.models.DataSourceType
:paramtype data_source_type: str or ~azure.ai.metricsadvisor.models.DatasourceType
:keyword granularity_type: filter data feed by its granularity.
:paramtype granularity_type: str or ~azure.ai.metricsadvisor.models.DataFeedGranularityType
:keyword status: filter data feed by its status.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@
MetricSeriesData,
AnomalyAlert,
IncidentRootCause,
MetricEnrichedSeriesData
MetricEnrichedSeriesData,
AnomalyFeedback,
ChangePointFeedback,
CommentFeedback,
PeriodFeedback
)
from ._version import SDK_MONIKER

Expand All @@ -42,15 +46,17 @@
MetricSeriesItem as MetricSeriesDefinition,
TimeMode as AlertQueryTimeMode,
)
from .models._models import (
AnomalyFeedback,
ChangePointFeedback,
CommentFeedback,
PeriodFeedback
)
from .models._models import MetricFeedback
from ._metrics_advisor_key_credential import MetricsAdvisorKeyCredential
from azure.core.paging import ItemPaged

FeedbackUnion = Union[
AnomalyFeedback,
ChangePointFeedback,
CommentFeedback,
PeriodFeedback,
]

class MetricsAdvisorClient(object):
"""Represents an client that calls restful API of Azure Metrics Advisor service.
Expand Down Expand Up @@ -106,7 +112,7 @@ def close(self):

@distributed_trace
def add_feedback(self, feedback, **kwargs):
# type: (Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback], Any) -> None
# type: (FeedbackUnion, Any) -> None

"""Create a new metric feedback.
Expand All @@ -133,13 +139,14 @@ def add_feedback(self, feedback, **kwargs):

@distributed_trace
def get_feedback(self, feedback_id, **kwargs):
# type: (str, Any) -> Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]
# type: (str, Any) -> Union[MetricFeedback, FeedbackUnion]

"""Get a metric feedback by its id.
:param str feedback_id: the id of the feedback.
:return: The feedback object
:rtype: ~azure.ai.metricsadvisor.models.AnomalyFeedback or
:rtype: ~azure.ai.metricsadvisor.models.MetricFeedback or
~azure.ai.metricsadvisor.models.AnomalyFeedback or
~azure.ai.metricsadvisor.models.ChangePointFeedback or
~azure.ai.metricsadvisor.models.CommentFeedback or
~azure.ai.metricsadvisor.models.PeriodFeedback
Expand All @@ -161,7 +168,7 @@ def get_feedback(self, feedback_id, **kwargs):

@distributed_trace
def list_feedback(self, metric_id, **kwargs):
# type: (str, Any) -> ItemPaged[Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]]
# type: (str, Any) -> ItemPaged[Union[MetricFeedback, FeedbackUnion]]

"""List feedback on the given metric.
Expand All @@ -179,7 +186,7 @@ def list_feedback(self, metric_id, **kwargs):
:paramtype time_mode: str or ~azure.ai.metricsadvisor.models.FeedbackQueryTimeMode
:return: Pageable list of MetricFeedback
:rtype: ~azure.core.paging.ItemPaged[
Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]]
Union[MetricFeedback, AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]]
:raises ~azure.core.exceptions.HttpResponseError:
.. admonition:: Example:
Expand Down Expand Up @@ -687,11 +694,11 @@ def list_metric_dimension_values(self, metric_id, dimension_name, **kwargs):
**kwargs)

@distributed_trace
def list_metrics_series_data(self,
def list_metric_series_data(self,
metric_id, # type: str
series_keys, # type: List[Dict[str, str]]
start_time, # type: Union[str, datetime.datetime]
end_time, # type: Union[str, datetime.datetime]
series_to_filter, # type: List[Dict[str, str]]
**kwargs # type: Any
):
# type: (...) -> ItemPaged[MetricSeriesData]
Expand All @@ -700,19 +707,19 @@ def list_metrics_series_data(self,
:param metric_id: metric unique id.
:type metric_id: str
:param series_keys: query specific series.
:type series_keys: list[dict[str, str]]
:param Union[str, datetime.datetime] start_time: start time filter under chosen time mode.
:param Union[str, datetime.datetime] end_time: end time filter under chosen time mode.
:param series_to_filter: query specific series.
:type series_to_filter: list[dict[str, str]]
:return: Time series data from metric.
:rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.MetricSeriesData]
:raises ~azure.core.exceptions.HttpResponseError:
.. admonition:: Example:
.. literalinclude:: ../samples/sample_queries.py
:start-after: [START list_metrics_series_data]
:end-before: [END list_metrics_series_data]
:start-after: [START list_metric_series_data]
:end-before: [END list_metric_series_data]
:language: python
:dedent: 4
:caption: Query metrics series data.
Expand All @@ -724,7 +731,7 @@ def list_metrics_series_data(self,
metric_data_query_options = MetricDataQueryOptions(
start_time=converted_start_time,
end_time=converted_end_time,
series=series_to_filter,
series=series_keys,
)

return self._client.get_metric_data( # type: ignore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,7 @@ def list_data_feeds(
:keyword str data_feed_name: filter data feed by its name.
:keyword data_source_type: filter data feed by its source type.
:paramtype data_source_type: str or ~azure.ai.metricsadvisor.models.DataSourceType
:paramtype data_source_type: str or ~azure.ai.metricsadvisor.models.DatasourceType
:keyword granularity_type: filter data feed by its granularity.
:paramtype granularity_type: str or ~azure.ai.metricsadvisor.models.DataFeedGranularityType
:keyword status: filter data feed by its status.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,10 @@
EnrichmentStatus,
MetricSeriesItem as MetricSeriesDefinition
)
from ..models._models import (
AnomalyFeedback,
ChangePointFeedback,
CommentFeedback,
PeriodFeedback
)
from ..models._models import MetricFeedback
from .._metrics_advisor_key_credential import MetricsAdvisorKeyCredential
from azure.core.credentials_async import AsyncTokenCredential
from .._metrics_advisor_client import FeedbackUnion

class MetricsAdvisorClient(object):
"""Represents an client that calls restful API of Azure Metrics Advisor service.
Expand Down Expand Up @@ -107,7 +103,7 @@ async def close(self) -> None:

@distributed_trace_async
async def add_feedback(self, feedback, **kwargs):
# type: (Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback], Any) -> None
# type: (FeedbackUnion, Any) -> None

"""Create a new metric feedback.
Expand All @@ -134,13 +130,14 @@ async def add_feedback(self, feedback, **kwargs):

@distributed_trace_async
async def get_feedback(self, feedback_id, **kwargs):
# type: (str, Any) -> Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]
# type: (str, Any) -> Union[MetricFeedback, FeedbackUnion]

"""Get a metric feedback by its id.
:param str feedback_id: the id of the feedback.
:return: The feedback object
:rtype: ~azure.ai.metricsadvisor.models.AnomalyFeedback or
:rtype: ~azure.ai.metricsadvisor.models.MetricFeedback or
~azure.ai.metricsadvisor.models.AnomalyFeedback or
~azure.ai.metricsadvisor.models.ChangePointFeedback or
~azure.ai.metricsadvisor.models.CommentFeedback or
~azure.ai.metricsadvisor.models.PeriodFeedback
Expand All @@ -167,7 +164,7 @@ def list_feedback(
self, metric_id, # type: str
**kwargs # type: Any
):
# type: (...) -> AsyncItemPaged[Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]]
# type: (...) -> AsyncItemPaged[Union[MetricFeedback, FeedbackUnion]]

"""List feedback on the given metric.
Expand All @@ -185,7 +182,7 @@ def list_feedback(
:paramtype time_mode: str or ~azure.ai.metricsadvisor.models.FeedbackQueryTimeMode
:return: Pageable list of MetricFeedback
:rtype: ~azure.core.async_paging.AsyncItemPaged[
Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]]
Union[MetricFeedback, AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]]
:raises ~azure.core.exceptions.HttpResponseError:
.. admonition:: Example:
Expand Down Expand Up @@ -699,11 +696,11 @@ def list_metric_dimension_values(self, metric_id, dimension_name, **kwargs):
**kwargs)

@distributed_trace
def list_metrics_series_data(
def list_metric_series_data(
self, metric_id, # type: str
series_keys, # type: List[Dict[str, str]]
start_time, # type: Union[str, datetime.datetime]
end_time, # type: Union[str, datetime.datetime]
series_to_filter, # type: List[Dict[str, str]]
**kwargs # type: Any
):
# type: (...) -> AsyncItemPaged[MetricSeriesData]
Expand All @@ -712,19 +709,19 @@ def list_metrics_series_data(
:param metric_id: metric unique id.
:type metric_id: str
:param series_keys: query specific series.
:type series_keys: list[dict[str, str]]
:param Union[str, datetime.datetime] start_time: start time filter under chosen time mode.
:param Union[str, datetime.datetime] end_time: end time filter under chosen time mode.
:param series_to_filter: query specific series.
:type series_to_filter: list[dict[str, str]]
:return: Time series data from metric.
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.MetricSeriesData]
:raises ~azure.core.exceptions.HttpResponseError:
.. admonition:: Example:
.. literalinclude:: ../samples/async_samples/sample_queries_async.py
:start-after: [START list_metrics_series_data_async]
:end-before: [END list_metrics_series_data_async]
:start-after: [START list_metric_series_data_async]
:end-before: [END list_metric_series_data_async]
:language: python
:dedent: 4
:caption: Query metrics series data.
Expand All @@ -736,7 +733,7 @@ def list_metrics_series_data(
metric_data_query_options = MetricDataQueryOptions(
start_time=converted_start_time,
end_time=converted_end_time,
series=series_to_filter,
series=series_keys,
)

return self._client.get_metric_data( # type: ignore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
from .._generated.models._microsoft_azure_metrics_advisor_restapi_open_ap_iv2_enums import (
SnoozeScope,
Severity as AnomalySeverity,
DataSourceType,
DataSourceType as DatasourceType,
ViewMode as DataFeedAccessMode,
RollUpMethod as DataFeedAutoRollupMethod,
FillMissingPointType as DataSourceMissingDataPointFillType,
Expand All @@ -40,8 +40,8 @@
PeriodType,
FeedbackType,
TimeMode as AlertQueryTimeMode,
DataSourceCredentialType,
AuthenticationTypeEnum as DataSourceAuthenticationType
DataSourceCredentialType as DatasourceCredentialType,
AuthenticationTypeEnum as DatasourceAuthenticationType
)

from .._generated.models import (
Expand All @@ -58,6 +58,7 @@
)

from ._models import (
MetricFeedback,
AnomalyFeedback,
ChangePointFeedback,
CommentFeedback,
Expand Down Expand Up @@ -123,6 +124,7 @@


__all__ = (
"MetricFeedback",
"AnomalyFeedback",
"ChangePointFeedback",
"CommentFeedback",
Expand Down Expand Up @@ -167,7 +169,7 @@
"MetricSeriesGroupDetectionCondition",
"MetricSingleSeriesDetectionCondition",
"SeverityCondition",
"DataSourceType",
"DatasourceType",
"MetricAnomalyAlertScopeType",
"AnomalyDetectorDirection",
"NotificationHook",
Expand Down Expand Up @@ -207,8 +209,8 @@
"DatasourceDataLakeGen2SharedKey",
"DatasourceServicePrincipal",
"DatasourceServicePrincipalInKeyVault",
"DataSourceCredentialType",
"DataSourceAuthenticationType",
"DatasourceCredentialType",
"DatasourceAuthenticationType",
"DatasourceCredential",
"DataFeedSource",
)
Loading