Skip to content

Commit 63f8cc7

Browse files
authored
removes start event from telemetry (#77)
* removes start event from telemetry * fix docs * showing traceback inline * fix doc
1 parent c85768f commit 63f8cc7

File tree

5 files changed

+25
-404
lines changed

5 files changed

+25
-404
lines changed

doc/_config.yml

+2
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,5 @@ sphinx:
3232
extra_extensions:
3333
- 'sphinx.ext.autodoc'
3434
- 'sphinx.ext.napoleon'
35+
config:
36+
nb_execution_show_tb: True

doc/telemetry.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ For more details, see the [API Reference](api/telemetry).
7575

7676
+++
7777

78-
To unit test decorated functions, call the function and check `__wrapped__._telemetry_started` attribute. If it exists, it means the function has been decorated with `@log_call()`, you can use it to verify what's logged:
78+
To unit test decorated functions, call the function and check `__wrapped__._telemetry_success` attribute. If it exists, it means the function has been decorated with `@log_call()`, you can use it to verify what's logged:
7979

8080
```{code-cell} ipython3
8181
@telemetry.log_call(log_args=True, ignore_args=("y",))
@@ -89,16 +89,17 @@ _ = divide(2, 4)
8989
```{code-cell} ipython3
9090
from unittest.mock import ANY
9191
92-
assert divide.__wrapped__._telemetry_started == {
93-
"action": "ploomber-core-divide-started",
92+
assert divide.__wrapped__._telemetry_success == {
93+
"action": "ploomber-core-divide-success",
94+
"total_runtime": ANY,
9495
"metadata": {
9596
"argv": ANY,
9697
"args": {"x": 2},
9798
},
9899
}
99100
```
100101

101-
`__wrapped__._telemetry_started` will keep the latest logged data, so you must call it at least one; otherwise, it'll be `None`.
102+
`__wrapped__._telemetry_success` will keep the latest logged data, so you must call it at least one; otherwise, it'll be `None`.
102103

103104
+++
104105

src/ploomber_core/telemetry/telemetry.py

-6
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,6 @@ def _log_call(func):
594594
name = action or getattr(func, "__name__", "funcion-without-name")
595595
action_ = (f"{action_}-{name}").replace("_", "-")
596596

597-
func._telemetry_started = None
598597
func._telemetry_success = None
599598
func._telemetry_error = None
600599

@@ -610,7 +609,6 @@ def _log_call(func):
610609
@wraps(func)
611610
def wrapper(*args, **kwargs):
612611
# reset attributes before calling
613-
func._telemetry_started = None
614612
func._telemetry_success = None
615613
func._telemetry_error = None
616614

@@ -626,10 +624,6 @@ def wrapper(*args, **kwargs):
626624
if log_args:
627625
metadata_started["args"] = args_parsed
628626

629-
started = dict(action=f"{action_}-started", metadata=metadata_started)
630-
func._telemetry_started = started
631-
self.log_api(**started)
632-
633627
start = datetime.datetime.now()
634628

635629
try:

tests/telemetry/test_telemetry.py

-90
Original file line numberDiff line numberDiff line change
@@ -464,10 +464,6 @@ def my_function():
464464

465465
mock_telemetry.assert_has_calls(
466466
[
467-
call(
468-
action="some-package-some-action-started",
469-
metadata=dict(argv=["bin", "arg"]),
470-
),
471467
call(
472468
action="some-package-some-action-success",
473469
total_runtime="1",
@@ -489,10 +485,6 @@ def my_function():
489485

490486
mock_telemetry.assert_has_calls(
491487
[
492-
call(
493-
action="some-package-some-action-started",
494-
metadata=dict(argv=["bin", "arg"]),
495-
),
496488
call(
497489
action="some-package-some-action-error",
498490
total_runtime="1",
@@ -518,10 +510,6 @@ def my_function():
518510

519511
mock_telemetry.assert_has_calls(
520512
[
521-
call(
522-
action="some-package-some-action-started",
523-
metadata=dict(argv=["bin", "arg"]),
524-
),
525513
call(
526514
action="some-package-some-action-error",
527515
total_runtime="1",
@@ -548,10 +536,6 @@ def my_function(payload):
548536

549537
mock_telemetry.assert_has_calls(
550538
[
551-
call(
552-
action="some-package-some-action-started",
553-
metadata=dict(argv=["bin", "arg"]),
554-
),
555539
call(
556540
action="some-package-some-action-error",
557541
total_runtime="1",
@@ -577,10 +561,6 @@ def my_function(payload):
577561

578562
mock_telemetry.assert_has_calls(
579563
[
580-
call(
581-
action="some-package-some-action-started",
582-
metadata=dict(argv=["bin", "arg"]),
583-
),
584564
call(
585565
action="some-package-some-action-success",
586566
total_runtime="1",
@@ -606,10 +586,6 @@ def my_function(self, payload, x, y):
606586
test_class.my_function(1, 2)
607587
mock_telemetry.assert_has_calls(
608588
[
609-
call(
610-
action="some-package-TestClass-some-action-started",
611-
metadata=dict(argv=["bin", "arg"]),
612-
),
613589
call(
614590
action="some-package-TestClass-some-action-success",
615591
total_runtime="1",
@@ -635,10 +611,6 @@ def my_function(self, payload):
635611

636612
mock_telemetry.assert_has_calls(
637613
[
638-
call(
639-
action="some-package-TestClass-some-action-started",
640-
metadata=dict(argv=["bin", "arg"]),
641-
),
642614
call(
643615
action="some-package-TestClass-some-action-success",
644616
total_runtime="1",
@@ -664,10 +636,6 @@ def my_function(self, payload, apple=2, banana=4):
664636
assert result == "Give me 5 apples and 10 bananas please"
665637
mock_telemetry.assert_has_calls(
666638
[
667-
call(
668-
action="some-package-TestClass-some-action-started",
669-
metadata=dict(argv=["bin", "arg"]),
670-
),
671639
call(
672640
action="some-package-TestClass-some-action-success",
673641
total_runtime="1",
@@ -698,10 +666,6 @@ def my_function(self, payload, users, *, separator):
698666

699667
mock_telemetry.assert_has_calls(
700668
[
701-
call(
702-
action="some-package-TestClass-some-action-started",
703-
metadata=dict(argv=["bin", "arg"]),
704-
),
705669
call(
706670
action="some-package-TestClass-some-action-success",
707671
total_runtime="1",
@@ -730,10 +694,6 @@ def my_function(self, payload, arg1, *, arg2, arg3):
730694

731695
mock_telemetry.assert_has_calls(
732696
[
733-
call(
734-
action="some-package-TestClass-some-action-started",
735-
metadata=dict(argv=["bin", "arg"]),
736-
),
737697
call(
738698
action="some-package-TestClass-some-action-success",
739699
total_runtime="1",
@@ -762,10 +722,6 @@ def my_function(self, payload, **info):
762722

763723
mock_telemetry.assert_has_calls(
764724
[
765-
call(
766-
action="some-package-TestClass-some-action-started",
767-
metadata=dict(argv=["bin", "arg"]),
768-
),
769725
call(
770726
action="some-package-TestClass-some-action-success",
771727
total_runtime="1",
@@ -792,10 +748,6 @@ def my_function(self, payload, *todo_list):
792748

793749
mock_telemetry.assert_has_calls(
794750
[
795-
call(
796-
action="some-package-TestClass-some-action-started",
797-
metadata=dict(argv=["bin", "arg"]),
798-
),
799751
call(
800752
action="some-package-TestClass-some-action-success",
801753
total_runtime="1",
@@ -905,27 +857,6 @@ def my_function():
905857
)
906858

907859
assert mock.call_args_list == [
908-
call(
909-
distinct_id="fake-uuid",
910-
event="some-package-some-action-started",
911-
properties={
912-
"event_id": ANY,
913-
"user_id": "fake-uuid",
914-
"action": "some-package-some-action-started",
915-
"client_time": ANY,
916-
"metadata": {"argv": ["bin", "arg2", "arg2"]},
917-
"total_runtime": None,
918-
"python_version": py_version,
919-
"version": "1.2.2",
920-
"package_name": "some-package",
921-
"docker_container": ANY,
922-
"cloud": ANY,
923-
"email": None,
924-
"os": ANY,
925-
"environment": ANY,
926-
"telemetry_version": ANY,
927-
},
928-
),
929860
call(
930861
distinct_id="fake-uuid",
931862
event="some-package-some-action-success",
@@ -984,17 +915,11 @@ def my_function():
984915
"action": "some-package-my-function",
985916
}
986917

987-
assert my_function.__wrapped__._telemetry_started is None
988918
assert my_function.__wrapped__._telemetry_success is None
989919
assert my_function.__wrapped__._telemetry_error is None
990920

991921
my_function()
992922

993-
assert my_function.__wrapped__._telemetry_started == {
994-
"action": "some-package-my-function-started",
995-
"metadata": {"argv": ANY},
996-
}
997-
998923
assert my_function.__wrapped__._telemetry_success == {
999924
"action": "some-package-my-function-success",
1000925
"total_runtime": ANY,
@@ -1019,7 +944,6 @@ def my_function():
1019944
"action": "some-package-my-function",
1020945
}
1021946

1022-
assert my_function.__wrapped__._telemetry_started is None
1023947
assert my_function.__wrapped__._telemetry_success is None
1024948
assert my_function.__wrapped__._telemetry_error is None
1025949

@@ -1028,11 +952,6 @@ def my_function():
1028952
except ValueError:
1029953
pass
1030954

1031-
assert my_function.__wrapped__._telemetry_started == {
1032-
"action": "some-package-my-function-started",
1033-
"metadata": {"argv": ANY},
1034-
}
1035-
1036955
assert my_function.__wrapped__._telemetry_success is None
1037956

1038957
assert my_function.__wrapped__._telemetry_error == {
@@ -1061,20 +980,11 @@ def my_function(x, y, z):
1061980
"group": None,
1062981
}
1063982

1064-
assert my_function.__wrapped__._telemetry_started is None
1065983
assert my_function.__wrapped__._telemetry_success is None
1066984
assert my_function.__wrapped__._telemetry_error is None
1067985

1068986
my_function(1, 2, 3)
1069987

1070-
assert my_function.__wrapped__._telemetry_started == {
1071-
"action": "some-package-my-function-started",
1072-
"metadata": {
1073-
"argv": ANY,
1074-
"args": {"x": 1, "y": 2},
1075-
},
1076-
}
1077-
1078988
assert my_function.__wrapped__._telemetry_success == {
1079989
"action": "some-package-my-function-success",
1080990
"total_runtime": ANY,

0 commit comments

Comments
 (0)