Faits :
A.
A._ travaille en qualité d'installateur sanitaire. Invoquant souffrir d'un syndrome facettaire et de discopathie, il a déposé une demande de prestations auprès de l'Office de l'assurance-invalidité du canton de Fribourg (ci-après: l'office AI) le 31 janvier 2011. Il a subi différentes incapacités de travail, dont une incapacité de 30 % dès le 15 octobre 2010 et de 100 % dès le 22 août 2012 (opération de la hanche) durant 3 mois. Il a ensuite repris son activité à 50 %. L'office AI a pris notamment des renseignements auprès de l'employeur de l'assuré, qui a mentionné un salaire annuel brut de 89'050 fr. au 1 er janvier 2011 (questionnaire complété le 7 février 2011). Il a confié la réalisation d'une expertise au Service d'orthopédie de l'Hôpital B._. Les docteurs C._ et D._ ont posé différents diagnostics d'ordre somatique, entraînant une incapacité totale de travail dans l'activité habituelle d'installateur sanitaire; A._ conservait en revanche une capacité complète de travail dans une activité adaptée aux limitations fonctionnelles (activité sans tâches physiquement contraignantes, en position assise ou semi-assise, sans port de charge ni parcours de longues distances; rapport du 18 novembre 2013). Selon le Service de réadaptation de l'office AI, l'assuré était en mesure d'assumer une activité légère à plein temps dans l'industrie légère ou les services, tels que le montage à l'étable, le contrôle de produits finis, la conduite de machines semi-automatiques, l'usinage de pièces légères ou le conditionnement léger; un salaire de 55'546 fr. 55 brut par an pouvait être réalisé (prise de position du 14 janvier 2014).
Par décision du 22 janvier 2014 (confirmant le projet de décision du 2 septembre 2011), l'office AI a retenu une perte de gain de 38 % (55'546 fr. 55 / 89'050 fr.) et nié le droit de A._ à une rente d'invalidité.
B.
Par jugement du 21 juin 2016, le Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, a rejeté le recours formé par l'assuré contre la décision administrative.
C.
A._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation ainsi que celle de la décision du 22 janvier 2014. Il conclut à l'octroi d'une demi-rente d'invalidité.

Considérant en droit :
1.
Le recours en matière de droit public peut être formé pour violation du droit, tel qu'il est délimité par les art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (<ref-law>), n'étant limité ni par les arguments de la partie recourante, ni par la motivation de l'autorité précédente. Le Tribunal fédéral n'examine en principe que les griefs invoqués, compte tenu de l'exigence de motivation prévue à l'<ref-law>, et ne peut aller au-delà des conclusions des parties (<ref-law>). Il fonde son raisonnement sur les faits retenus par l'autorité précédente (<ref-law>) sauf s'ils ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law> (<ref-law>). La partie recourante qui entend s'écarter des faits constatés doit expliquer de manière circonstanciée en quoi les conditions de l'<ref-law> sont réalisées, sinon un état de fait divergent ne peut être pris en considération (<ref-law>).
2.
Le litige porte sur le droit du recourant à une demi-rente, singulièrement sur le taux d'invalidité à la base de cette prestation. Il s'agit en particulier de déterminer les montants des revenus de l'assuré avant et après la survenance de l'invalidité. Le jugement entrepris expose de manière complète les dispositions légales et les principes jurisprudentiels applicables. Il suffit d'y renvoyer.
3.
La juridiction cantonale a appliqué la méthode générale de comparaison des revenus pour évaluer l'invalidité du recourant. Afin de déterminer le revenu sans invalidité, elle s'est fondée sur le salaire perçu par l'assuré en 2011, soit 89'050 francs. En ce qui concerne le revenu d'invalide, elle s'est référée, après avoir délimité l'activité adaptée, aux statistiques salariales de l'Enquête sur la structure des salaires (ESS) 2010, table TA1, niveau de qualification 4 [activités simples et répétitives], soit à un montant de 61'776 fr. 15. Tenant compte des limitations fonctionnelles et du fait que le recourant n'avait jamais changé d'employeur auparavant, elle a appliqué un abattement de 10 %. Elle a dès lors conclu à un revenu d'invalide de 55'598 fr. 55. La comparaison aboutissait à un taux d'invalidité de 38 %, insuffisant pour ouvrir le droit à la rente.
4.
L'assuré conteste les revenus sans invalidité, avec invalidité ainsi que le taux d'abattement retenus par les premiers juges.
4.1. S'agissant du revenu sans invalidité, le recourant ne saurait être suivi lorsqu'il invoque que c'est le salaire de 2014 s'élevant à 92'950 fr. que la juridiction cantonale aurait dû prendre en considération. En principe, pour procéder à la comparaison des revenus, il convient de se placer au moment de la naissance du droit à la rente; les revenus avec et sans invalidité doivent être déterminés par rapport à un même moment et les modifications de ces revenus susceptibles d'influencer le droit à la rente survenues jusqu'au moment où la décision est rendue doivent être prises en compte (<ref-ruling> consid. 4.1 p. 223). Conformément à ce principe, on ne saurait non plus suivre le raisonnement de la juridiction cantonale qui s'est fondée sur le salaire perçu en 2011 s'élevant à 89'050 francs. En effet, à cette date, l'assuré était en incapacité de travail à raison de 30 % seulement. Ce n'est qu'à partir du 22 août 2012 (date de l'opération de la hanche) que le recourant a subi une incapacité de travail d'au minimum 40 % en moyenne (100 % puis 50 %) durant une année sans interruption notable, soit jusqu'au 22 août 2013 (<ref-law>). Dans la mesure où, selon les renseignements fournis par l'employeur, l'assuré aurait perçu en 2013 un salaire de 90'675 fr., il convient de prendre ce revenu en considération pour procéder au calcul du taux d'invalidité.
4.2.
4.2.1. Concernant le revenu avec invalidité, le recourant soutient que les premiers juges n'ont pas établi l'existence réelle d'une activité adaptée; ils n'ont démontré la compatibilité des limitations fonctionnelles ni avec l'exercice d'une activité administrative ni avec l'exercice d'une activité industrielle légère. Or, c'est en se fondant sur le rapport des experts du 18 juin 2013 ainsi que sur la prise de position du Service de réadaptation du 14 janvier 2014 que la juridiction cantonale est parvenue à délimiter quelle activité était compatible avec l'état de santé de l'assuré. Elle a relevé que selon les docteurs C._ et D._, une activité exempte de port de charges, de marches sur de longues distances, de positions exigeantes pour les articulations, de tâches physiquement contraignantes et, idéalement, dans une position assise ou demi-assise, représentait une activité adaptée à l'état de santé du recourant; elle ajoutait qu'un travail de bureau pourrait par exemple être envisagé. On rappellera que la tâche du médecin consiste à porter un jugement sur l'état de santé et à indiquer dans quelle mesure et pour quelles activités l'assuré est incapable de travailler. Sur la base de ces informations, les services de réadaptation professionnelle déterminent concrètement quels travaux on peut encore raisonnablement exiger (<ref-ruling> consid. 4 p. 261 et arrêt I 729/04 du 24 mars 2006 consid. 4.1 et 4.2). Le tribunal cantonal a constaté que d'après le Service de réadaptation, les ressources cognitives modestes de l'assuré, notamment en mémoire et logique, avec des résultats largement en-dessous de la moyenne, n'auraient pas permis une formation d'employé de commerce; une activité administrative n'aurait par conséquent pas été adaptée, à l'inverse d'une activité légère à plein temps dans l'industrie légère ou les services, tels que le montage à l'étable, le contrôle de produits finis, la conduite de machines semi-automatiques, l'usinage de pièces légères ou le conditionnement léger. Par son argumentation, le recourant ne parvient pas à démontrer en quoi les activités mentionnées seraient incompatibles avec les imitations fonctionnelles constatées mais se contente de simples affirmations. Il convient au surplus de relever que dans la mesure où l'assuré argue avoir continué à travailler comme installateur sanitaire (supra consid. 4.1) malgré l'incompatibilité de cette activité avec son état de santé (rapport d'expertise du 18 juin 2013), il est malvenu de sa part d'invoquer une incompatibilité de ses limitations fonctionnelles avec une activité dans le domaine de l'industrie légère.
4.2.2. Au vu de ce qui précède, c'est à bon droit que les premiers juges se sont fondés sur le salaire statistique résultant de l'ESS 2010, table TA1, niveau de qualification 4 [activités simples et répétitives] obtenant ainsi un montant de 61'776 fr. 15 brut par an (après indexation). Au moment où la décision administrative litigieuse a été rendue, soit le 22 janvier 2014, l'intimé ne disposait pas des données 2012, dans la mesure où ces dernières n'ont été publiées qu'au mois d'octobre 2014 (cf. Lettre circulaire AI n° 328 de l'Office fédéral des assurances sociales [OFAS] du 22 octobre 2014). Le salaire d'invalide doit par conséquent être déterminé sur la base des données 2010 (arrêt 9C_725/2015 du 5 avril 2016 consid. 4.3.1), et ensuite être indexé jusqu'au moment où la décision administrative a été rendue (cf. supra consid. 4.1).
4.3. Le recourant critique enfin le taux d'abattement de 10 % retenu par les premiers juges pour déterminer le revenu d'invalide. Il soutient qu'au vu de ses graves limitations, de son inaptitude à l'apprentissage d'une activité administrative, de son parcours professionnel toujours auprès de la même entreprise et de son âge, il pouvait prétendre à une réduction de 20 %. Il ne démontre toutefois pas en quoi la juridiction cantonale aurait violé le droit fédéral par un abus ou un excès (positif ou négatif) de son pouvoir d'appréciation. Il ne s'en prend qu'à l'opportunité de la décision qu'il conteste, ce qui ne lui est d'aucun secours (cf. arrêt 9C_46/2016 du 10 août 2016 consid. 4.4 et les références). C'est également en vain qu'il reproche aux premiers juges de ne pas avoir pris en compte son âge. Âgé de 52 ans au moment où il a été constaté que l'exercice d'une activité adaptée était médicalement exigible, il n'avait pas encore atteint l'âge à partir duquel la jurisprudence considère généralement qu'il n'existe plus de possibilité réaliste de mise en valeur de la capacité résiduelle de travail sur un marché du travail supposé équilibré (<ref-ruling> consid. 3.1 et 3.3 pp. 459 et 461). L'assuré ne saurait être suivi non plus lorsqu'il invoque son inaptitude à l'apprentissage d'une activité administrative, dans la mesure où le marché du travail pour lequel il conserve une capacité totale de travail (cf. supra consid. 4.2) offre un large éventail d'autres activités, légères, dont on doit convenir qu'un nombre important sont adaptées à ses limitations, sans formation particulière.
5.
Au vu de ce qui précède, le taux d'invalidité résultant de la comparaison des revenus avec (55'598 fr. 55, correspondant à 61'776 fr. 15 réduit de 10 %) et sans invalidité (90'675 fr.) est de 38,68 %, arrondi à 39 %. Même s'il fallait indexer les salaires de valide et d'invalide jusqu'à janvier 2014 (date de la décision administrative, cf. supra consid. 4.1), le taux d'invalidité n'atteindrait pas les 40 % parce qu'il faudrait indexer les deux valeurs de la même manière. La juridiction cantonale ayant refusé le droit à la rente au motif que le taux d'invalidité était inférieur au minimum légal requis de 40 %, le jugement doit être confirmé dans son résultat. Mal fondé, le recours doit être rejeté.
6.
Vu l'issue du litige, les frais judiciaires sont mis à la charge du recourant (art. 66 al. 1 première phrase LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 10 février 2017
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
La Présidente : Pfiffner
La Greffière : Flury