Considérant en fait et en droit :
1.
Dès le 1 er juillet 2009 et pour une durée de cinq ans venant à échéance le 30 juin 2014, A._ SA a pris à bail un local commercial de 596 m2 à usage de bureau et entrepôt, au troisième étage d'un bâtiment sis à Carouge. Elle a également pris à bail deux places de stationnement pour véhicules au sous-sol du même bâtiment. Le loyer mensuel net était fixé à 9'933 fr. 30 pour le local commercial et à 200 fr. pour les places de stationnement. Les baux étaient conclus avec la société B._ AG.
Dès le 1er octobre 2009 et pour une durée de cinq ans venant à échéance le 30 septembre 2014, A._ SA a pris à bail un local commercial de 358 m2, également à usage de bureau et entrepôt, au quatrième étage du même bâtiment. Le loyer mensuel net était fixé à 5'862 francs. Le bail était conclu avec C._.
Au mois de septembre 2012, la locataire a annoncé qu'elle était contrainte d'entreposer ses marchandises dans un autre lieu et qu'elle souhaitait être libérée de ses baux dès la fin de l'année. Par l'entremise de leur régie, les bailleurs ont répondu qu'il incombait à la locataire de présenter un candidat solvable disposé à reprendre les locaux aux mêmes conditions. Sans succès, la locataire a insisté pour se faire libérer de ses baux.
Le 30 janvier 2013, la locataire a déclaré résilier le bail du troisième étage avec effet au lendemain. Elle faisait état d'un grave défaut de la chose louée, consistant dans la panne d'une installation de levage. Le 31 janvier 2013, elle a déclaré résilier le bail du quatrième étage avec effet au 28 février 2013, pour le même motif. Les bailleurs ont fait savoir que ces résiliations n'étaient pas acceptées.
2.
Le 10 avril 2013, dans la poursuite n°... de l'office compétent, B._ AG a fait notifier à A._ SA le commandement de payer 21'260 fr. avec intérêts au taux de 5% par an dès le 8 février 2013, à titre de loyer des mois de février et mars 2013.
Le 30 du même mois, dans la poursuite n°..., C._ a fait notifier à A._ SA le commandement de payer 12'124 fr. avec intérêts au taux de 5% par an dès le 8 février 2013, également à titre de loyer des mois de février et mars 2013.
A._ SA a formé opposition totale dans les deux poursuites.
Par jugements du 5 novembre 2013, le Tribunal de première instance du canton de Genève a donné mainlevée provisoire des oppositions.
3.
Le 2 décembre 2013, A._ SA a ouvert action en libération de dette devant le Tribunal des baux et loyers, contre B._ AG et contre C._. Elle sollicitait la jonction des causes. Parmi d'autres conclusions, le tribunal était requis de prononcer que les sommes exigées par voie de poursuites ne sont pas dues.
Les deux défendeurs ont conclu au rejet de l'action.
Le tribunal a ordonné la jonction des causes puis il a administré diverses preuves. Il s'est enfin prononcé le 8 septembre 2014. Il a donné aux défendeurs mainlevée totale et définitive des oppositions dans les deux poursuites, à ceci près que pour chacune d'elles, les intérêts moratoires ne courent que dès la notification du commandement de payer. Le tribunal a réduit les loyers de dix pour cent du 21 janvier au 13 avril 2013 en raison d'un défaut qui avait restreint l'usage des locaux loués.
La Chambre des baux et loyers de la Cour de justice a statué le 5 août 2015 sur l'appel de la demanderesse; elle a confirmé le jugement.
4.
Agissant par la voie du recours en matière civile, la demanderesse requiert le Tribunal fédéral d'annuler l'arrêt de la Cour de justice; à titre subsidiaire, elle demande l'annulation de l'arrêt et le renvoi de la cause à la Cour de justice pour nouvelle décision.
Les défendeurs procèdent conjointement et concluent au rejet du recours.
5.
Selon la jurisprudence relative à l'art. 42 al. 1 de la loi fédérale sur le Tribunal fédéral (LTF), le mémoire de recours adressé à ce tribunal doit comporter des conclusions sur le sort des prétentions en cause, à allouer ou rejeter par le tribunal, et la partie recourante n'est en principe pas recevable à réclamer seulement l'annulation de la décision attaquée. Ce dernier procédé n'est admis que dans l'hypothèse où le Tribunal fédéral, en cas de succès du recours, ne pourrait de toute manière pas rendre un jugement final, et devrait au contraire renvoyer la cause à la juridiction cantonale pour complètement de l'état de fait et nouvelle décision selon l'<ref-law> (<ref-ruling> consid. 1.3 p. 383; <ref-ruling> consid. 3).
A l'examen de la motivation développée par la demanderesse, il n'apparaît pas que le Tribunal fédéral soit hors d'état de rendre lui-même, à supposer que l'arrêt de la Cour de justice se révèle vicié, un jugement final sur les prétentions en cause. Dans ces conditions, les conclusions tendant seulement à l'annulation de ce prononcé sont insuffisantes au regard de l'<ref-law>. Néanmoins, parce que la demanderesse conteste entièrement et sans équivoque les deux prétentions élevées par voie de poursuites, il se justifie que le Tribunal fédéral entre en matière nonobstant le libellé défectueux des conclusions.
A raison de la valeur litigieuse, le recours en matière civile est recevable par l'effet de l'<ref-law> sur les deux prétentions contestées, alors même que l'une d'elles est inférieure au minimum de 15'000 fr. qu'exige l'<ref-law> en matière de droit du bail à loyer.
6.
Il est constant que le demandeur a conclu avec ses adverses parties deux contrats de bail à loyer et que ces contrats lui ont conféré l'usage de locaux destinés notamment à la manutention et à l'entreposage de marchandises.
7.
Selon l'<ref-law>, le locataire est autorisé à résilier avec effet immédiat le bail d'une chose immobilière s'il est survenu un défaut excluant ou entravant considérablement l'usage de la chose, que le bailleur a eu connaissance de ce défaut et qu'il n'y a pas remédié dans un délai convenable. En cas de contestation, il appartient à la juridiction cantonale d'apprécier si le défaut est suffisamment grave pour justifier la résiliation (arrêt C.164/1999 du 22 juillet 1999, consid. 2d, PJA 2000 p. 484).
Selon les art. 259a al. 1 let. b et 259d CO, le locataire est aussi autorisé à exiger une réduction proportionnelle du loyer lorsqu'un défaut entrave ou restreint l'usage de la chose louée, à partir du moment où le bailleur a eu connaissance du défaut et jusqu'à celui où il l'a éliminé.
La chose louée est défectueuse lorsqu'elle ne présente pas une qualité que le bailleur a promise, ou lorsqu'elle ne présente pas une qualité sur laquelle le locataire pouvait légitimement compter en considération de son droit de recevoir la chose dans un état approprié à l'usage convenu. La réduction du loyer suppose que l'usage de la chose soit restreint de cinq pour cent au moins; une restriction de deux pour cent est toutefois suffisante s'il s'agit d'une atteinte permanente (<ref-ruling> consid. 3.2 p. 347). La réduction doit être proportionnée au défaut; elle se détermine par rapport à la valeur de la chose sans défaut et elle vise à rétablir l'équilibre des prestations réciproques des parties. S'il n'est pas possible de la calculer, la juridiction cantonale l'apprécie équitablement (<ref-ruling> consid. 4.1 p. 507).
En l'espèce, la demanderesse prétend avoir valablement résilié les deux contrats sur la base de l'<ref-law>, et n'être donc plus débitrice d'aucun loyer pour les mois de février et mars 2013. Elle semble perdre de vue qu'elle a résilié le bail du quatrième étage avec effet au 28 février 2013 seulement. A titre subsidiaire, sur la base des art. 259a al. 1 let. b et 259d CO, elle revendique une réduction des loyers plus importante que celle de dix pour cent accordée par les autorités précédentes.
8.
La Cour de justice constate que les locaux loués sont desservis par deux ascenseurs monte-charge depuis un quai de chargement au rez-de-chaussée du bâtiment. Le quai est haut d'un mètre vingt au-dessus du sol adjacent. Il est doté d'une plate-forme élévatrice permettant de monter ou de descendre des marchandises entre le sol et le quai. Cette plate-forme s'est trouvée en panne du 21 janvier au 13 avril 2013; il s'agit du défaut invoqué par la demanderesse. Pour remplacer la plate-forme, il est possible d'amener et d'utiliser un engin élévateur mobile; il est aussi possible d'approcher un camion pour le charger ou le décharger directement depuis le quai. La demanderesse n'a pas usé de ces solutions de remplacement; elle a néanmoins pu amener et emmener ses marchandises, mais, selon la Cour, « moins vite et avec des risques ». Elle n'a non plus jamais usé d'une solution proposée « à titre exceptionnel » par les défendeurs, consistant à faire fonctionner la plate-forme, sur demande, en présence d'un technicien chargé de garantir la sécurité.
Selon l'appréciation juridique de la Cour de justice, la panne de la plate-forme élévatrice est effectivement un défaut des choses louées. Toutefois, compte tenu de ses conséquences peu importantes et des possibilités de remplacement disponibles, elle n'est pas suffisamment grave pour justifier la résiliation des contrats; elle justifie en revanche une réduction des loyers, que la Cour évalue à dix pour cent.
A l'appui du recours en matière civile, la demanderesse insiste sur la destination contractuelle des locaux loués, affectés notamment à la manutention et à l'entreposage de marchandises, et elle décrit sommairement son activité dans le domaine de la vente des parfums et des produits cosmétiques. Elle reproche à la Cour de justice d'avoir gravement sous-estimé les conséquences de la panne de la plate-forme sur cette activité. Elle a prétendument subi une « entrave insoutenable ». Elle n'argumente guère que par protestations et dénégations. Dans son exposé, rien n'est de nature à mettre en évidence une erreur ou une lacune certaine dans les constatations de fait déterminantes selon l'<ref-law>. Rien ne dénote, non plus, que la Cour ait éventuellement mésusé de son pouvoir d'apprécier les conséquences juridiques des faits constatés; la demanderesse oppose simplement sa propre opinion à celle des précédents juges. Ainsi, le recours se révèle privé de fondement et doit être rejeté.
9.
A titre de partie qui succombe, la demanderesse doit acquitter l'émolument à percevoir par le Tribunal fédéral et les dépens auxquels les adverses parties peuvent prétendre.


Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demanderesse acquittera un émolument judiciaire de 2'000 francs.
3.
La demanderesse versera une indemnité de 2'500 fr. aux défendeurs, créanciers solidaires, à titre de dépens.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice du canton de Genève.
Lausanne, le 6 janvier 2016
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente : Kiss
Le greffier : Thélin