7
7
import os
8
8
from importlib import metadata
9
9
10
- import sentry_sdk
11
10
from sentry_sdk import capture_exception
11
+ from sentry_sdk import flush
12
+ from sentry_sdk import init
13
+ from sentry_sdk import set_tag
14
+ from sentry_sdk import set_user
15
+ from sentry_sdk import start_transaction
12
16
from sentry_sdk .integrations .argv import ArgvIntegration
13
17
14
18
from devservices .commands import list_dependencies
34
38
logging .basicConfig (level = logging .INFO )
35
39
36
40
if not disable_sentry :
37
- sentry_sdk . init (
41
+ init (
38
42
dsn = "https://[email protected] /4507946704961536" ,
39
43
traces_sample_rate = 1.0 ,
40
44
profiles_sample_rate = 1.0 ,
43
47
environment = sentry_environment ,
44
48
)
45
49
username = getpass .getuser ()
46
- sentry_sdk . set_user ({"username" : username })
50
+ set_user ({"username" : username })
47
51
48
52
49
53
@atexit .register
50
54
def cleanup () -> None :
51
- sentry_sdk . flush ()
55
+ flush ()
52
56
53
57
54
58
def main () -> None :
55
59
console = Console ()
60
+ current_version = metadata .version ("devservices" )
61
+ set_tag ("devservices_version" , current_version )
56
62
try :
57
63
check_docker_compose_version ()
58
64
except DockerDaemonNotRunningError as e :
@@ -68,9 +74,7 @@ def main() -> None:
68
74
description = "CLI tool for managing service dependencies." ,
69
75
usage = "devservices [-h] [--version] COMMAND ..." ,
70
76
)
71
- parser .add_argument (
72
- "--version" , action = "version" , version = metadata .version ("devservices" )
73
- )
77
+ parser .add_argument ("--version" , action = "version" , version = current_version )
74
78
75
79
subparsers = parser .add_subparsers (dest = "command" , title = "commands" , metavar = "" )
76
80
@@ -93,14 +97,14 @@ def main() -> None:
93
97
94
98
if args .command :
95
99
# Call the appropriate function based on the command
96
- with sentry_sdk . start_transaction (op = "command" , name = args .command ):
100
+ with start_transaction (op = "command" , name = args .command ):
97
101
args .func (args )
98
102
else :
99
103
parser .print_help ()
100
104
101
105
if args .command != "update" :
102
- newest_version = check_for_update (metadata . version ( "devservices" ) )
103
- if newest_version != metadata . version ( "devservices" ) :
106
+ newest_version = check_for_update ()
107
+ if newest_version != current_version :
104
108
console .warning (
105
109
f"WARNING: A new version of devservices is available: { newest_version } "
106
110
)
0 commit comments