Skip to content

Commit e9dfe7d

Browse files
committed
Added CLI option "logs" to redirect user to tranform ids error logs
1 parent 332fc3e commit e9dfe7d

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

servicex/app/transforms.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import asyncio
2929
from pathlib import Path
3030
from typing import Optional, List
31+
import webbrowser
3132

3233
import rich
3334
import typer
@@ -138,3 +139,37 @@ async def download_with_progress(filename) -> Path:
138139

139140
for path in result_files:
140141
print(path.as_posix())
142+
143+
@transforms_app.command(no_args_is_help=True)
144+
def logs(
145+
url: Optional[str] = url_cli_option,
146+
backend: Optional[str] = backend_cli_option,
147+
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+
):
150+
"""
151+
Show logs of the transform requests submitted
152+
"""
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"
154+
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()
162+
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
169+
170+
if single_transform:
171+
rich.print(table)
172+
if open_link:
173+
webbrowser.open(kibana_link.format(t.request_id))
174+
else:
175+
rich.print("Invalid Request ID")

0 commit comments

Comments
 (0)