def track_feature_evaluation_influxdb_v2(
    environment_id: int, feature_evaluations: list[dict[str, int | str | bool]]
) -> None:
    """
    Sends Feature analytics event data to InfluxDB

    :param environment_id: (int) the id of the environment the feature is being evaluated within
    :param feature_evaluations: (list) A collection of feature evaluations including feature name / evaluation counts.
    """
    influxdb = InfluxDBWrapper("feature_evaluation")  # type: ignore[no-untyped-call]

    for feature_evaluation in feature_evaluations:
        feature_name = feature_evaluation["feature_name"]
        evaluation_count = feature_evaluation["count"]

        # Note that "feature_id" is a misnamed as it's actually to
        # the name of the feature. This was to match existing behavior.
        tags = {"feature_id": feature_name, "environment_id": environment_id}
        influxdb.add_data_point("request_count", evaluation_count, tags=tags)

    influxdb.write()

    Sends Feature analytics event data to InfluxDB

    :param environment_id: (int) the id of the environment the feature is being evaluated within
    :param feature_evaluations: (list) A collection of feature evaluations including feature name / evaluation counts.
    
api/app_analytics/track.py