Preheat the broiler. Heat 2 teaspoons oil in a large, ovenproof, nonstick skillet over medium heat. Add onion, garlic, rosemary and half of the tomato; cook, stirring, until the onion is limp, about 8 minutes.
Add potatoes and cook, stirring, until they start to brown, about 4 minutes. Add asparagus and cook until heated through. Remove the vegetables from the pan; season with salt and pepper.
Wipe out the pan, brush with the remaining 1 teaspoon oil, and return it to low heat.
Lightly whisk whole eggs, egg whites and cheese in a medium bowl. Add the vegetables to the egg mixture and pour into the pan, gently stirring to distribute the vegetables. Cook over low heat until the underside is light golden, 5 to 8 minutes.
Place the pan under the broiler and broil until the top of the frittata is puffed and golden brown, 1 to 2 minutes. Loosen the frittata and slide it onto a platter. Garnish with chives (or scallions) and the remaining chopped tomato.