Performance with Database Logging
Example showing how to store performance evaluation results in the database.
Before running the code, provide a PostgreSQL database named ai on localhost:5432 with username and password ai, matching the example URL. For a local disposable database, run:
docker run --name agno-eval-db -e POSTGRES_DB=ai -e POSTGRES_USER=ai -e POSTGRES_PASSWORD=ai -p 5432:5432 -d postgres:18Wait for the database to accept connections. If you already have PostgreSQL, adjust the example’s db_url to match it. Reuse the same local container across examples; do not run this creation command again with the same name.
Create a Python file
"""Example showing how to store evaluation results in the database."""
from agno.agent import Agent
from agno.db.postgres.postgres import PostgresDb
from agno.eval.performance import PerformanceEval
from agno.models.openai import OpenAIResponses
# Simple function to run an agent which performance we will evaluate
def run_agent():
agent = Agent(
model=OpenAIResponses(id="gpt-5.2"),
system_message="Be concise, reply with one sentence.",
)
response = agent.run("What is the capital of France?")
print(response.content)
return response
# Setup the database
db_url = "postgresql+psycopg://ai:ai@localhost:5432/ai"
db = PostgresDb(db_url=db_url, eval_table="eval_runs_cookbook")
simple_response_perf = PerformanceEval(
db=db, # Pass the database to the evaluation. Results will be stored in the database.
name="Simple Performance Evaluation",
func=run_agent,
num_iterations=1,
warmup_runs=0,
)
if __name__ == "__main__":
simple_response_perf.run(print_results=True, print_summary=True)Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U openai agno psycopg sqlalchemyExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run Agent
python performance_db_logging.py