As the Toronto Blue Jays head into the All-Star break, there's no better time than now to hand out our mid-season report card to the Jays' rotation and bullpen. On Tuesday, the team's position players.

SP Marcus Stroman — A

Key Stat: 3.28 ERA

fWAR: 1.9

The Good: Coming off his first 200-inning season, Stroman has been the glue holding together a patchwork Blue Jays rotation in the first half of the season. This is the best first half he’s ever had — he’ll tell you he was an All-Star Game snub — and he’s well on his way to a career year in every way. The 26-year-old has gone at least seven innings in seven of 18 starts.

The Bad: After giving up 21 homers in 204 innings last year, Stroman has allowed 13 longballs so far this season, but six of those came over two starts in June. If he can bump the strikeout rate from 7.45 K/9, he’d be elite. 

SP Marco Estrada — D

Key Stat: 5.17 ERA

fWAR: 1.5 Embedded Image

The Good: The changeup artist is striking out more hitters than he ever has (9.8 K/9), which led to him exiting the month of May with a 3.15 ERA and a .682 OPS against through two months.

The Bad: Since the calendar turned to June, however, Estrada has been simply awful. He’s only had one decent start, and his ERA is 9.46 in seven outings. Estrada’s control has deserted him and he’s been the definition of hittable. He’ll be a free agent this winter, but this tough stretch has tanked his trade value.

SP Aaron Sanchez — D

Key Stat: 6 starts

fWAR: -0.2

The Good: Sanchez returned last Friday from a seven-week break due to recurring blister issues, setting the 2016 AL ERA champ up for a chance to turn his season around in the second half. His health is the only thing that matters at this point and he seems to have turned the corner in that regard.

The Bad: His ERA is 4.85, but it’s impossible to evaluate what Sanchez has done due to the stop and start nature of his season. He’s only contributed six starts and 26 innings so far this year, which is all you need to know.

SP J.A. Happ — C+

Key Stat: 3.54 ERA

fWAR: 0.7

The Good: You knew it would be tough to match his 20-4 record from a year ago, but Happ is actually striking out more hitters and walking less in 2017. A DL stint due to a wonky left elbow was scary, but the 34-year-old has bounced back. The biggest positive is his reasonable $13-million contract for next season, a deal that will make him attractive if he’s made available at the trade deadline.

The Bad: Like many of his rotation mates, time away from the mound has been the biggest negative. Happ has also been a bit homer-prone, giving up 12 dingers in just 61 innings.

SP Francisco Liriano — D

Key Stat: 4.63 BB/9

Embedded ImagefWAR: 0.7

The Good: True to his career numbers — his best months have always been June (3.51 career ERA) and July (3.44) — Liriano has gone at least six innings in four of his last five starts heading into the break.

The Bad: After a buzz-worthy spring training had many thinking he had figured things out at the age of 33, Liriano has been his usual, maddening, consistently inconsistent self. You might get a seven-inning, 10-strikeout game, but far too often he won’t be around for the fifth inning.

SP/RP Joe Biagini — C

Key Stat: 5.60 ERA as a starter

fWAR: 1.2

The Good: Moved into the rotation in May, Biagini was up and down, showing flashes of starter stuff. The four-pitch repertoire is there, and Biagini has proven he at least should be given a look as a full-time starter next spring.

The Bad: The velocity dipped as a starter, which is normal, but he was a little more hittable and also seemed uncomfortable with runners on base.

SP Mike Bolsinger — D

Key Stat: 5.68 BB/9

fWAR: 0.0

The Good: The 29-year-old has pitched to a 1.60 ERA, but that’s at Triple-A Buffalo.

The Bad: Bolsinger’s had trouble with his curveball command, leading to way too many walks. If the Jays trade a starter or two at the deadline, he may get an extended run in the rotation.

Incomplete: Mat Latos, Casey Lawrence

RP Roberto Osuna — A+

Key Stat: 1.46 FIP

fWAR: 1.7

The Good: Everything. At the age of 22, Osuna’s turned it up a notch in every aspect this season, striking out more, walking less, and he heads into the break riding a streak of 21-straight saves converted. That ties him with Billy Koch’s run in 2000, and leaves him four behind Tom Henke’s franchise record of 25-straight in 1991. He’s an elite closer.

The Bad: He had to take a couple days off near the end of June when he revealed he was dealing with anxiety. 

RP Danny Barnes — A

Key Stat: 2.31 ERA

fWAR: 0.8

The Good: With all of the injuries in the rotation in the first half, the bullpen has been worked hard. Barnes has responded with a 2.31 ERA in 39 innings already, earning Gibbons’ trust as a key setup man.

The Bad: Combined with six innings at Triple-A, Barnes is already up to 45 frames on the season, a workload he admitted is new to him. He worked 75 innings across three levels last year. 

RP Ryan Tepera — B+

Key Stat: 45.1 innings

fWAR: 0.7 Embedded Image

The Good: Like Barnes, Tepera has earned himself a setup gig as the season’s progressed and even though it was out of necessity, the 29-year-old has pitched to a 3.77 ERA.

The Bad: Two homers over his final two pre-break appearances could be a sign of Tepera wearing down a bit, as he’s been called on 39 times for 45.1 innings already.

RP Joe Smith — B

Key Stat: 34 appearances

fWAR: 0.9

The Good: Smith was enjoying a bounceback season in his Toronto debut, cruising to a 2.61 ERA and 46 strikeouts in just 30.2 innings to start the season.

The Bad: But the heavy workload may have caught up to the veteran right-hander as he allowed three earned runs and a homer on June 14 and then hit the DL with a shoulder injury and hasn’t been seen since.

RP Dominic Leone — B

Key Stat: 2.95 ERA

fWAR: 0.5

The Good: Claimed off waivers from the Arizona Diamondbacks in November, Leone has been a pleasant surprise, providing a quality 39.2 middle relief innings.

The Bad: Because of the litany of injuries across the roster, Leone, who has options remaining, has been riding the shuttle from Toronto to Triple-A Buffalo.

RP Aaron Loup — C-

Key Stat: 5 HBP

fWAR: 0.1

The Good: Thanks to J.P. Howell’s struggles and Jeff Beliveau being sheltered, Loup has been the only viable lefty in Gibbons’ pen for much of the season, leading to a team-high 40 appearances.

The Bad: His command has been iffy with 17 walks and five hit batsmen, making each and every Loup outing a wild ride.

RP J.P. Howell — F

Key Stat: 8.31 ERA

fWAR: -0.1

The Good: He’s a free agent at the end of the season.

The Bad: Signed to help replace Brett Cecil, Howell was blown up before landing on the DL with a shoulder problem. He’s currently on a rehab assignment at Triple-A.

RP Jason Grilli — F

Key Stat: 9 home runs allowed

Embedded ImagefWAR: -0.7

The Good: The Jays were able to get A-ball outfielder Eduard Pinto from the Texas Rangers in exchange for the 40-year-old.

The Bad: Just about everything. Grilli could still strike hitters out, but that was only when they weren’t taking him deep. He pitched to a 6.97 ERA before being designated for assignment June 27.

Incomplete: Jeff Beliveau, Glenn Sparkman, Leonel Campos, Lucas Harrell, Cesar Valdez, Chris Smith, Matt Dermody