|
37 | 37 |
|
38 | 38 | from servicex.app.cli_options import url_cli_option, backend_cli_option
|
39 | 39 | from servicex.minio_adapter import MinioAdapter
|
40 |
| -from servicex.models import Status, ResultFile |
| 40 | +from servicex.models import Status, ResultFile, LogLevel |
41 | 41 | from servicex.servicex_client import ServiceXClient
|
42 | 42 |
|
43 | 43 | transforms_app = typer.Typer(name="transforms", no_args_is_help=True)
|
@@ -140,36 +140,38 @@ async def download_with_progress(filename) -> Path:
|
140 | 140 | for path in result_files:
|
141 | 141 | print(path.as_posix())
|
142 | 142 |
|
| 143 | + |
143 | 144 | @transforms_app.command(no_args_is_help=True)
|
144 | 145 | def logs(
|
145 | 146 | url: Optional[str] = url_cli_option,
|
146 | 147 | backend: Optional[str] = backend_cli_option,
|
147 | 148 | transform_id: str = typer.Option(None, "-t", "--transform-id", help="Transform ID"),
|
148 |
| - open_link: Optional[bool] = typer.Option(False, "-o", "--open-link", help="Open Link in browser") |
| 149 | + log_level: Optional[LogLevel] = typer.Option("ERROR", "-l", "--log-level", |
| 150 | + help="Level of Logs", |
| 151 | + case_sensitive=False) |
149 | 152 | ):
|
150 | 153 | """
|
151 |
| - Show logs of the transform requests submitted |
| 154 | + Open the URL to the Kibana dashboard of the logs of a tranformer |
152 | 155 | """
|
153 |
| - kibana_link = "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?auth_provider_hint=anonymous1#/view/2242a220-5481-11ed-afcf-d91dad577662?embed=true&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-24h%2Fh,to:now))&_a=(filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,field:requestId,index:'923eaa00-45b9-11ed-afcf-d91dad577662',key:requestId,negate:!f,params:(query:'{0}'),type:phrase),query:(match_phrase:(requestId:'{0}'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,field:level,index:'923eaa00-45b9-11ed-afcf-d91dad577662',key:level,negate:!f,params:(query:error),type:phrase),query:(match_phrase:(level:error)))))&show-top-menu=true&show-query-input=true&show-time-filter=true" |
| 156 | + kibana_link = "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?"\ |
| 157 | + "auth_provider_hint=anonymous1#/view/2242a220-5481-11ed-afcf-d91dad577662?"\ |
| 158 | + "embed=true&_g=(refreshInterval:(pause:!t,value:0),time:"\ |
| 159 | + "(from:now-24h%2Fh,to:now))&_a=(filters:!(('$state':(store:appState),"\ |
| 160 | + "meta:(alias:!n,disabled:!f,field:requestId,index:'923eaa00-45b9-11ed-"\ |
| 161 | + "afcf-d91dad577662',key:requestId,negate:!f,params:(query:'{0}'),type:"\ |
| 162 | + "phrase),query:(match_phrase:(requestId:'{0}'))),('$state':(store:appState)"\ |
| 163 | + ",meta:(alias:!n,disabled:!f,field:level,index:'923eaa00-45b9-11ed-afcf-"\ |
| 164 | + "d91dad577662',key:level,negate:!f,params:(query:{1}),type:phrase),query:"\ |
| 165 | + "(match_phrase:(level:{1})))))&show-top-menu=true&show-query-input=true&"\ |
| 166 | + "show-time-filter=true" |
154 | 167 | sx = ServiceXClient(backend=backend, url=url)
|
155 |
| - table = Table(title="ServiceX Transforms") |
156 |
| - table.add_column("Transform ID") |
157 |
| - table.add_column("Status") |
158 |
| - table.add_column("Files Completed") |
159 |
| - table.add_column("Files Failed") |
160 |
| - table.add_column("Files") |
161 |
| - transforms = sx.get_transforms() |
| 168 | + transforms = sx.get_transform_status(transform_id) |
162 | 169 | single_transform = None
|
163 |
| - for t in transforms: |
164 |
| - if t.request_id==transform_id: |
165 |
| - table.add_row( |
166 |
| - t.request_id, t.status, str(t.files_completed), str(t.files_failed) ,str(t.files) |
167 |
| - ) |
168 |
| - single_transform = t |
| 170 | + if transforms and transforms.request_id == transform_id: |
| 171 | + single_transform = transforms |
169 | 172 |
|
170 | 173 | if single_transform:
|
171 |
| - rich.print(table) |
172 |
| - if open_link: |
173 |
| - webbrowser.open(kibana_link.format(t.request_id)) |
| 174 | + webbrowser.open(kibana_link.format(transforms.request_id, log_level.name.lower())) |
| 175 | + return kibana_link.format(transforms.request_id, log_level.name.lower()) |
174 | 176 | else:
|
175 | 177 | rich.print("Invalid Request ID")
|
0 commit comments