### Apache Airflow version

2.1.2

### What happened

Task duration view for triggered dags shows all dag runs instead of n last. Changing the number of runs in the `Runs` drop-down menu doesn't change the view. Additionally the chart loads slowly, it show all dag runs.

![screenshot_2022-03-05_170203](https://user-images.githubusercontent.com/7863204/156891332-5e461661-970d-49bf-82a8-5dd1da57bb02.png)
 

### What you expected to happen

The number of shown dag runs is 25 (like for scheduled dags), and the last runs are shown. The number of runs button should allow to increase / decrease the number of shown dag runs (respectively the task times of the dag runs).

### How to reproduce

Trigger a dag multiple (> 25) times. Look at the "Task Duration" chart.

### Operating System

Linux

### Versions of Apache Airflow Providers

_No response_

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

self, fileloc, expected_relative, session, clear_dags, reader_dags_folder
    ):
        """
        The serialized dag model includes the dags folder as configured on the thing serializing
        the dag.  On the thing deserializing the dag, when determining relative fileloc,
        we should use the dags folder of the processor.  So even if the dags folder of
        the deserializer is different (meaning that the full path is no longer relative to
        the dags folder) then we should still get the relative fileloc as it existed on the
        serializer process.  When the full path is not relative to the configured dags folder,
        then relative fileloc should just be the full path.
        """
        dag = DAG(dag_id="test")
        dag.fileloc = fileloc
        sdm = SerializedDagModel(dag)
        session.add(sdm)
        session.commit()
        session.expunge_all()
        sdm = SerializedDagModel.get(dag.dag_id, session)
        dag = sdm.dag
        with conf_vars({("core", "dags_folder"): reader_dags_folder}):
            assert dag.relative_fileloc == expected_relative
    def test__processor_dags_folder(self, session):
        """Only populated after deserializtion"""
        dag = DAG(dag_id="test")
        dag.fileloc = "/abc/test.py"
        assert dag._processor_dags_folder is None
        sdm = SerializedDagModel(dag)
        assert sdm.dag._processor_dags_folder == settings.DAGS_FOLDER
    @pytest.mark.need_serialized_dag
    def test_dags_needing_dagruns_dataset_triggered_dag_info_queued_times(self, session, dag_maker):