"""Team leader, session, and member-level execution metrics."""
from agno.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.openai import OpenAIResponses
from agno.team import Team
from agno.tools.yfinance import YFinanceTools
from agno.utils.pprint import pprint_run_response
from rich.pretty import pprint
db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
db = PostgresDb(db_url=db_url, session_table="team_metrics_sessions")
stock_searcher = Agent(
name="Stock Searcher",
model=OpenAIResponses(id="gpt-5-mini"),
role="Searches the web for information on a stock.",
tools=[YFinanceTools()],
)
team = Team(
name="Stock Research Team",
model=OpenAIResponses(id="gpt-5-mini"),
members=[stock_searcher],
db=db,
session_id="team_metrics_demo",
markdown=True,
show_members_responses=True,
store_member_responses=True,
)
if __name__ == "__main__":
run_output = team.run("What is the stock price of NVDA")
pprint_run_response(run_output, markdown=True)
print("=" * 50)
print("TEAM LEADER MESSAGE METRICS")
print("=" * 50)
if run_output.messages:
for message in run_output.messages:
if message.role == "assistant":
if message.content:
print(f" Message: {message.content[:100]}...")
elif message.tool_calls:
print(f"Tool calls: {message.tool_calls}")
print("-" * 30, "Metrics", "-" * 30)
pprint(message.metrics)
print("-" * 70)
print("=" * 50)
print("TEAM LEADER RUN METRICS")
print("=" * 50)
pprint(run_output.metrics)
print("=" * 50)
print("SESSION METRICS")
print("=" * 50)
pprint(team.get_session_metrics(session_id="team_metrics_demo"))
print("=" * 50)
print("MEMBER RUN METRICS")
print("=" * 50)
if run_output.member_responses:
for member_response in run_output.member_responses:
print(f"\nMember: {member_response.agent_name}")
print("-" * 20, "Run Metrics", "-" * 20)
pprint(member_response.metrics)
if member_response.messages:
for message in member_response.messages:
if message.role == "assistant":
print("-" * 20, "Message Metrics", "-" * 20)
pprint(message.metrics)
print("-" * 60)
Run the Example
# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/03_teams/22_metrics
# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate
python 01_team_metrics.py