-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Duration must be a timedelta instead of string #19427
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
Changes from 6 commits
6658474
0c4525d
fc2aa93
4bdfe3f
021ae7a
0cf9ac9
e18aacb
e0ddb73
427b3b1
7da5472
d0dcbfa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -50,6 +50,10 @@ def order_results(request_order, responses): | |
| return ordered | ||
|
|
||
| def construct_iso8601(start=None, end=None, duration=None): | ||
| try: | ||
| duration = 'PT{}S'.format(duration.total_seconds()) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we use isinstance? If user uses a class that has total_seconds property, is it valid?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What if duration is None in line 69 & 71?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. changed to
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just to confirm, you mean end = Serializer.serialize_iso(end)
iso_str = None + '/' + endis valid?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oops - line 69-71 got changed when i made the changes :)
|
||
| except AttributeError: | ||
| pass | ||
| iso_str = None | ||
| if start is not None: | ||
| start = Serializer.serialize_iso(start) | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -16,6 +16,7 @@ | |||||
|
|
||||||
| if TYPE_CHECKING: | ||||||
| from azure.core.credentials import TokenCredential | ||||||
| from datetime import timedelta | ||||||
|
|
||||||
|
|
||||||
| class LogsQueryClient(object): | ||||||
|
|
@@ -49,7 +50,7 @@ def __init__(self, credential, **kwargs): | |||||
| self._query_op = self._client.query | ||||||
|
|
||||||
| def query(self, workspace_id, query, duration=None, **kwargs): | ||||||
| # type: (str, str, str, Any) -> LogsQueryResults | ||||||
| # type: (str, str, timedelta, Any) -> LogsQueryResults | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i'll update all these :) |
||||||
| """Execute an Analytics query. | ||||||
|
|
||||||
| Executes an Analytics query for data. | ||||||
|
|
@@ -63,9 +64,9 @@ def query(self, workspace_id, query, duration=None, **kwargs): | |||||
| :param query: The Analytics query. Learn more about the `Analytics query syntax | ||||||
| <https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/>`_. | ||||||
| :type query: str | ||||||
| :param str duration: The duration for which to query the data. This can also be accompanied | ||||||
| :param ~datetime.timedelta duration: The duration for which to query the data. This can also be accompanied | ||||||
| with either start_time or end_time. If start_time or end_time is not provided, the current time is | ||||||
| taken as the end time. This should be provided in a ISO8601 string format like 'PT1H', 'P1Y2M10DT2H30M'. | ||||||
| taken as the end time. | ||||||
| :keyword datetime start_time: The start time from which to query the data. This should be accompanied | ||||||
| with either end_time or duration. | ||||||
| :keyword datetime end_time: The end time till which to query the data. This should be accompanied | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indent?