> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Team Performance with Memory

> Example showing how to evaluate team performance with memory tracking and growth monitoring.

<Steps>
  <Step title="Create a Python file">
    ```python performance_team_with_memory.py theme={null}
    import asyncio
    import random

    from agno.agent import Agent
    from agno.db.postgres import PostgresDb
    from agno.eval.performance import PerformanceEval
    from agno.models.openai import OpenAIResponses
    from agno.team.team import Team

    cities = [
        "New York",
        "Los Angeles",
        "Chicago",
        "Houston",
        "Miami",
        "San Francisco",
        "Seattle",
        "Boston",
        "Washington D.C.",
        "Atlanta",
        "Denver",
        "Las Vegas",
    ]


    # Setup the database
    db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
    db = PostgresDb(db_url=db_url)


    def get_weather(city: str) -> str:
        return f"The weather in {city} is sunny."


    weather_agent = Agent(
        id="weather_agent",
        model=OpenAIResponses(id="gpt-5.2"),
        role="Weather Agent",
        description="You are a helpful assistant that can answer questions about the weather.",
        instructions="Be concise, reply with one sentence.",
        tools=[get_weather],
        db=db,
        update_memory_on_run=True,
        add_history_to_context=True,
    )

    team = Team(
        members=[weather_agent],
        model=OpenAIResponses(id="gpt-5.2"),
        instructions="Be concise, reply with one sentence.",
        db=db,
        markdown=True,
        update_memory_on_run=True,
        add_history_to_context=True,
    )


    async def run_team():
        random_city = random.choice(cities)
        _ = team.arun(
            input=f"I love {random_city}! What weather can I expect in {random_city}?",
            stream=True,
            stream_events=True,
        )

        return "Successfully ran team"


    team_response_with_memory_impact = PerformanceEval(
        name="Team Memory Impact",
        func=run_team,
        num_iterations=5,
        warmup_runs=0,
        measure_runtime=False,
        debug_mode=True,
        memory_growth_tracking=True,
    )

    if __name__ == "__main__":
        asyncio.run(
            team_response_with_memory_impact.arun(print_results=True, print_summary=True)
        )
    ```
  </Step>

  <Snippet file="create-venv-step.mdx" />

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U openai agno psycopg
    ```
  </Step>

  <Step title="Export your OpenAI API key">
    <CodeGroup>
      ```bash Mac/Linux theme={null}
        export OPENAI_API_KEY="your_openai_api_key_here"
      ```

      ```bash Windows theme={null}
        $Env:OPENAI_API_KEY="your_openai_api_key_here"
      ```
    </CodeGroup>
  </Step>

  <Step title="Run Team">
    ```bash theme={null}
    python performance_team_with_memory.py
    ```
  </Step>
</Steps>
