Skip to content

Commit

Permalink
feat(subp): Measure subprocess command time
Browse files Browse the repository at this point in the history
  • Loading branch information
holmanb committed Dec 5, 2023
1 parent 12bb681 commit 7d4e658
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions cloudinit/subp.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import logging
import os
import subprocess
import time
from errno import ENOEXEC
from io import TextIOWrapper
from typing import List, Union
Expand Down Expand Up @@ -241,6 +242,7 @@ def subp(
x if isinstance(x, bytes) else x.encode("utf-8") for x in args
]
try:
before = time.time()
sp = subprocess.Popen(
bytes_args,
stdout=stdout,
Expand All @@ -251,6 +253,9 @@ def subp(
cwd=cwd,
)
out, err = sp.communicate(data)
total = time.time() - before
if total > 0.1:
LOG.debug("command %s took %.3ss to run", args, total)
except OSError as e:
raise ProcessExecutionError(
cmd=args,
Expand Down

0 comments on commit 7d4e658

Please sign in to comment.