Season the tenderloin generously with salt and pepper and rub with 1 tablespoon vegetable oil. Let stand at room temperature for 30 minutes.
Meanwhile, prepare a grill for indirect cooking over medium heat.
Drizzle the remaining tablespoon vegetable oil over the onion and season with salt and pepper. Cook over direct heat until softened but still retaining some bite, about 2 minutes per side. Remove to a plate. Sear the tenderloin over the direct flame until it has golden brown grill marks all over, about 4 minutes per side. Move the tenderloin to the indirect-heat portion of the grill and continue to cook, covered, turning once or twice, until an instant read thermometer inserted into the center of the tenderloin registers 120 to 125 degrees F for medium-rare, about 20 minutes more. Transfer the tenderloin to a cutting board and let rest for 15 minutes.
Meanwhile, heat the butter and olive oil in a large skillet over medium heat. Add the garlic and rosemary and cook, stirring, until the garlic is pale golden, about 2 minutes. Add the tomatoes and a pinch of salt, and cook, stirring occasionally, until the tomatoes begin to burst, about 5 minutes. Add the balsamic vinegar and season with salt and pepper to taste. Chop the grilled onion into small pieces and toss into the salsa. Remove from the heat.
Slice the tenderloin and serve it with the salsa.